我正在尝试使用laravel显示与用户相关的角色



我正在尝试显示与用户相关的角色,但不幸的是,在与用户有关的选择选项中没有显示角色。请帮助我如何解决此问题?

控制器

public function edit(User $user)
{
$data = [
'roles' => Role::where('name', '!=', 'super-admin')->get(),
'users' => $user->load('roles'),
];
return view('cms.user_management.edit', $data);
}

html视图

<select class="js-example-basic-multiple" name="roles[]" 
multiple="multiple">
<option disabled >please select</option>
@foreach($roles as $key => $value)
<option value="{{ $value->name }}" {{ $users->id == 
$value->id ? 'selected="selected"' : '' }}>{{ $value->name }}</option>                                
@endforeach
</select>

只需更改以下代码即可重新查看分配给用户的所有角色

'roles' => $user->getRoleNames();

$user->getRoleNames()将返回分配给该用户的角色数组,如['role01','role02']

所以,你只需要在叶片内部循环该阵列,并创造所需的条件。

查找更多关于它们的基本用法

最新更新