Добрый день. Для своего проекта использую данный пакет:
github для пермишенов и ролей.
Суть задачи такова:
Заходим в редактор какой-нить роли. Там должны выводиться все права, которые существуют. В этой части проблем нет. Дальше самое сложное для меня - проверять, активирован данный пермишен для этой роли или нет.
Код контроллера:
public function edit(int $id){
if(auth()->user()->hasPermissionTo('admin.roles.edit')){
$role = Role::with('permissions')->find($id);
$permissions = Permission::all();
dd($role);
Breadcrumbs::addBreadcrumb('Роль: "' . $role->title . '"', route('admin.roles'));
return view('admin.roles.edit', compact('role', 'permissions'));
}else{
flash('У вас не достаточно прав!')->warning();
return redirect()->intended(route('admin.roles'));
}
}
Код View:
@foreach($permissions as $permission)
{{ Form::checkbox('permissions[]', $permission->id ) }}
{{ Form::label($permission->name, $permission->name) }}<br>
@endforeach
Так же есть ещё вариант как это сделать - просто вручную добавлять список и через условия проверять, активирован ли данный пермишен или нет - но данный вариант пока не особо хочется использовать, только если по моему коду ни как не помочь.