Я создаю модуль для списка задач. Если тип роли - admin, он / она может назначить ToDo любому пользователю. Однако, если обычный пользователь создает задачу, она будет автоматически назначена текущему пользователю. Я реализовал, как показано ниже:
Функция ToDoController выглядит следующим образом:
public function create()
{
return view('todo.create',['countries' => Country::all(), 'business_types' => BusinessType::all(), 'users' => User::all()]);
}
Файл представления create.blade. php с полем выбора пользователя, как показано ниже:
@if(!empty(Auth::user()->roles()->where('name','admin')->first()))
<div class="form-group">
<label for="description">Assigned To</label>
<select class="form-control" name="user_id">
@foreach ($users as $user)
@if ($user->id == old('user_id'))
<option value="{{$user->id}}" selected>{{$user->name}}</option>
@else
<option value="{{$user->id}}">{{$user->name}}</option>
@endif
@endforeach
</select>
@if ($errors->has('user_id'))
<div class="alert-danger">
<p>{{ $errors->first('user_id') }}</p>
</div>
@endif
</div>
@else
<div class="form-group" style="display:none;">
<label for="description">Assigned To</label>
<select class="form-control" name="user_id">
<option value="{{$user->id}}" selected>{{$user->name}}</option>
</select>
@if ($errors->has('user_id'))
<div class="alert-danger">
<p>{{ $errors->first('user_id') }}</p>
</div>
@endif
</div>
@endif
В случае обычного пользователя не обязательно принимать значение всех пользователей, но я не могу этого избежать. Есть ли какой-либо оптимизированный метод для реализации того же этого?
Заранее спасибо! Мана