Создание раскрывающегося списка в 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>

Это принесет вам желаемое

Другие вопросы по тегам