Я предполагаю, что вы используете шаблон Blade. Используйте следующее, чтобы добавить раскрывающийся список для выбора роли.
<select name="role">
@foreach ( $roles as $role )
<option value="${{role->id}}">{{ $role->name }}</option>
@endforeach
</select>
Вам нужно будет предоставить имеющиеся на данный момент роли от вашей модели роли (га) до представления. Это можно сделать в вашем контроллере при рендеринге представления.
// Part of your controller
$roles = Role::all();
return view('your-view', [ 'roles' => $roles ]);
Ключевая часть здесь - return view('your-view', [ 'roles' => $roles ])
. Второй параметр в функции view
- это данные, которые передаются в само представление. См. Документы по Blade для получения дополнительной информации.
Когда вы отправляете свою форму, вы можете «прикрепить» роль к вашей модели пользователя после ее сохранения.
$user = new User();
// Assign user info here
$user->save();
$user->roles()->attach($request->role);
->roles()
- это модель, принадлежащая пользователю, к которому мы хотим присоединиться.
->attach($request->role)
- $request->role
- это идентификатор роли, которую мы хотим прикрепить к вновь созданному пользователю.
Вы можете читать больше в документах о присоединении и назначении различных отношений другим.