Создание раскрывающегося списка в laravel для выбора роли пользователя - laravel
Я создаю веб-сайт с помощью laravel, и у меня есть форма для создания новых пользователей, и в ней мне нужна опция для отображения способа выбора роли пользователя, я хотел бы сделать это в виде раскрывающегося списка, но я Мне трудно это понять... пока у меня есть это (см. ниже мой create.blade.php), но он не отображает данные из трех ролей, которые у меня есть в таблице в БД (это admin, инструктор и ученик).
<div class="form-group">
<label for="role">Role</label>
<select name="roles[]" class="form-control">
@foreach($roles as $role)
<ul class="dropdown-menu" role="menu">
{{ $role }}
</ul>
@endforeach
</select>
</div>
Ниже моя форма, я новичок в laravel, поэтому просто пытаюсь научиться лучше себя, любая помощь очень ценится:)
2 ответа
Если вы используете собственный HTML select
, вы можете использовать
<div class="form-group">
<label for="role">Role</label>
<select name="roles[]" class="form-control">
@foreach($roles as $role)
<option value="{{ $role->id }}"> {{ $role->nameOrWhatever }} </option>
@endforeach
</select>
</div>
В вашем UserController
/**
* Show the form for creating a new user
*
* @param \App\Role $model
* @return \Illuminate\View\View
*/
public function create(Role $model)
{
return view('users.create', ['roles' => $model->get(['id', 'name'])]);
}
затем в вашем create.blade.php
<select name="role_id" id="input-role" required>
<option value="">-</option>
@foreach ($roles as $role)
<option value="{{ $role->id }}" {{ $role->id == old('role_id') ? 'selected' : '' }}>{{ $role->name }}</option>
@endforeach
</select>
Это принесет вам желаемое