@if(auth()->user()->type == 'admin')
<div class="form-group {{ $errors->has('course_id') ? 'has-error' : '' }}">
<label for="user_id" class="col-md-2 control-label">User</label>
<div class="col-md-10">
<select class="form-control" id="user_id" name="user_id">
<option value="" style="display: none;" {{ old('user_id', optional($registeredCourse)->user_id ?: '') == '' ? 'selected' : '' }} disabled selected>Select user</option>
@foreach ($users as $key => $user)
<option value="{{ $key }}" {{ old('user_id', optional($registeredCourse)->user_id) == $key ? 'selected' : '' }}>
{{ $user }}
</option>
@endforeach
</select>
{!! $errors->first('course_id', '<p class="help-block">:message</p>') !!}
</div>
</div>
@else
<div class="form-group {{ $errors->has('course_id') ? 'has-error' : '' }}">
<label for="user_id" class="col-md-2 control-label">User</label>
<div class="col-md-10">
<input class="form-control" name="user_id" type="text" id="user_id" value="{{ old('user_id', optional($->id)) }}" minlength="1" placeholder="Enter name here...">
{!! $errors->first('course_id', '<p class="help-block">:message</p>') !!}
</div>
</div>
@endif
我的form.blade.php文件出现问题,我有一个RegisteredCourses的控制器,该角色在管理员和学生角色之间共享。在刀片中,我使用和If / else指令在两个角色之间进行过滤。如果用户是管理员,则显示几个选项。另一方面,如果用户是学生,则我只需要在选择中选择一个选项,即通过身份验证的学生的名字,我只想显示他的名字,而不是数据库中的整个用户名。
我选择选择是因为我可以显示名称并存储user_id,因为它是整数。我不想手动输入ID号。
我不太确定在Laravel中过滤不同刀片是否是最好的主意。有人有建议吗?
请,我需要尽可能简单的方法,因为我对Laravel的了解有限。
谢谢。
答案 0 :(得分:0)
@if(auth()->user()->type == 'admin')
<div class="form-group {{ $errors->has('course_id') ? 'has-error' : '' }}">
<label for="user_id" class="col-md-2 control-label">User</label>
<div class="col-md-10">
<select class="form-control" id="user_id" name="user_id">
<option value="" style="display: none;" {{ old('user_id', optional($registeredCourse)->user_id ?: '') == '' ? 'selected' : '' }} disabled selected>Select user</option>
@foreach ($users as $key => $user)
<option value="{{ $key }}" {{ old('user_id', optional($registeredCourse)->user_id) == $key ? 'selected' : '' }}>
{{ $user }}
</option>
@endforeach
</select>
{!! $errors->first('course_id', '<p class="help-block">:message</p>') !!}
</div>
</div>
@else
<div class="form-group {{ $errors->has('course_id') ? 'has-error' : '' }}">
<label for="user_id" class="col-md-2 control-label">User</label>
<div class="col-md-10">
<select class="form-control" id="user_id" name="user_id">
<option value="" style="display: none;" {{ old('user_id', optional($registeredCourse)->user_id ?: '') == '' ? 'selected' : '' }} disabled selected>Select user</option>
@foreach ($users as $key => $user)
@if ($key == Auth::user()->id)
<option value="{{ $key }}" {{ old('user_id', optional($registeredCourse)->user_id) == $key ? 'selected' : '' }}>
{{ $user }}
</option>
@endif
@endforeach
</select>
{!! $errors->first('course_id', '<p class="help-block">:message</p>') !!}
</div>
</div>
@endif
最后,我需要检查$ key是否等于Auth :: user()-> id,我只有一个选项。
我希望这对某人有用。
谢谢。