Laravel. Редактировать пользователя с отношениями

Я хочу сделать форму редактирования пользователя. На данный момент я могу редактировать данные из пользовательской таблицы, но я бы хотел назначить полномочия для пользовательских ролей из ролей таблицы (выпадающий список).

контроллер

public function index()
{
$users = User::with('roles')->get();
return view('pages.user', compact('users'));
}
public function update($id, Request $request)
{
$user = User::with('roles')->findOrFail($id);
$user->update($request->all());
return redirect('users');
}

форма

{!! Form::model($user, ['method' => 'PATCH', 'action'=>['UsersController@update', $user->id]]) !!}
<div class="form-group">
<div class="form-group">
{!! Form::label('name','Name: ') !!}
{!! Form::text('name', null, ['class'=>'form-control','placeholder'=>'Here, user name']) !!}
</div>
<div class="form-group">
{!! Form::label('roles','Roles: ') !!}
{!! Form::select('roles',['class'=>'form-control']) !!}
{!! Form::select('roles',$user,null,['class'=>'form-control']) !!}
//i try this but still not working
</div>
</div>

Спасибо за помощь.

0

Решение

Я думаю, что вы хотите отобразить все роли в раскрывающемся списке «Роль», проверьте изменение кода ниже:
контроллер

public function index()
{
//Get user detail
$users = User::with('roles')->get();

//Get all roles
$userRole = Roles::lists('name','id');
return view('pages.user', compact('users', 'userRole'));
}

форма

<div class="form-group">
{!! Form::label('roles','Roles: ') !!}
{!! Form::select('roles',$userRole, null,['class'=>'form-control']) !!}<!-- replace with $users['role_id'], if want to display selected role-->
</div>

НОТА: использование срывать вместо списка для laravel> = 5.3. Метод lists для объектов Collection, построитель запросов и Eloquent построитель запросов был переименован в pluck. Подпись метода остается прежней.

Дайте мне знать, если все еще не работает!

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector