我正在尝试以相同的方式获取具有一定权限的用户列表,但由于角色原因,它无法正常工作
调用未定义的方法Spatie \ Permission \ Models \ Role :: roles()
我获得具有特定角色的用户列表的方式:
$permission = $request->permission;
$usersWithPerms = User::permission($permission)->get();
return array("usersWithPerms"=>$usersWithPerms);
试图获得具有特定权限的角色的方式:
$groupsWithPerms = Role::permission('perms_givePermToRole')->get();
return array("groupsWithPerms"=>$groupsWithPerms);
BadMethodCallException 调用未定义的方法Spatie \ Permission \ Models \ Role :: roles()
答案 0 :(得分:1)
我唯一得到的是它的名称,但没有获得一定权限的角色ID:
$permission = Permission::findOrFail($request->idPermission);
$groupsWithPerms = $permission->getRoleNames();
其中:getRoleNames()是spatie包中的方法。 这样就可以正常工作,但您只会获得角色的名称,而不是ID。
答案 1 :(得分:0)
获取角色的权限 并获取权限的角色
$permission = Permission::findOrFail(1);
$groupsWithPerms = $permission->getRoleNames();
//dd($groupsWithPerms);
$role = Role::findOrFail(1);
$groupsWithRoles = $role->getPermissionNames();
//dd($groupsWithRoles);