使用 Spatie 权限显示分配给 Laravel 中的用户的多个角色

Showing multiple roles assigned to a user in Laravel using Spatie Permissions

有谁知道如何显示一个用户下的多个角色?我已经设置了我的权限,因此用户可以处于多个角色下,使用以下设置很容易

$user->assignRole(['Root', 'IT', 'HR']); // assigning roles

但是,我无法以相同的方式显示用户所属的所有角色? 有没有人这样做并且知道怎么做?我只是想在页面上显示用户属于哪个角色。

您可以通过 $user->roles

获取分配给用户的角色集合

如果有两个 table(角色和 user_roles),您可以通过内部联接检查('inner join' 检查角色必须存在于 'roles' table 分配给用户)通过传递 user_id(user_id 以获得用户分配的特定角色)。

参考这个link

https://spatie.be/docs/laravel-permission/v4/basic-usage/basic-usage

获取用户角色的名称

$roles = $user->getRoleNames(); 

Returns一个合集