Laravel 7空间返回相同角色
我有一张名为“角色”的表格: 我还有另一个名为Laravel 7空间返回相同角色,laravel,spatie,Laravel,Spatie,我有一张名为“角色”的表格: 我还有另一个名为role\u has\u permissions的表: permission_id | role_id ----------------------- 145 | 2 146 | 2 147 | 2 151 | 3 role_id | model_type | model_id ------------------------------------- 1
role\u has\u permissions
的表:
permission_id | role_id
-----------------------
145 | 2
146 | 2
147 | 2
151 | 3
role_id | model_type | model_id
-------------------------------------
1 | App\Models\User | 120
3 | App\Models\User | 3
另一个名为model\u的表具有\u角色
:
permission_id | role_id
-----------------------
145 | 2
146 | 2
147 | 2
151 | 3
role_id | model_type | model_id
-------------------------------------
1 | App\Models\User | 120
3 | App\Models\User | 3
当我在“MenuController.php”上运行命令时
我收到一个返回,这是正确的,因为我是以管理员身份登录的,即型号id“3”
但是,当我在Menu.php
(Model)上运行相同的命令时,我会收到以下返回值[“userx”]
类似于getrolenames
的命令,仅在我在模型上运行时返回第一个权限。尝试如下操作:
$user = Auth::user();
$role_user = $user->roles->pluck('name');
return $role_user;
如果不起作用,则执行dd($user->roles);并检查返回的角色。