首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spatie Laravel权限热切加载

Spatie Laravel权限热切加载
EN

Stack Overflow用户
提问于 2019-08-13 13:38:32
回答 2查看 1.2K关注 0票数 0

第一次使用这个很棒的包,我正试图为用户加载权限。

这将返回关系中的角色:

代码语言:javascript
复制
auth()->user()->with('roles')->first();

但是这会返回一个空的关系:

代码语言:javascript
复制
auth()->user()->with('permissions')->first();

如何急切地加载权限?我作为示例使用的用户是Super,因此它应该包含一个所有权限的数组。

我错过了什么?谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-08-14 08:44:42

试一试这段代码

角色的:-

代码语言:javascript
复制
use Spatie\Permission\Traits\HasRoles;
use HasRoles;


$roles = User::select('id')->with(['roles'=>function($s){
            return $s->select('roles.name as r_name');
        }])->first();
OR

$roles = auth()->user()->with(['roles'=>function($s){
            return $s->select('roles.name as r_name');
        }])->first();

权限的 :-

代码语言:javascript
复制
use Spatie\Permission\Models\Permission;

$user = Auth()->user();
$permissions = $user->getAllPermissions();

OR

$permissions = auth()->user()->getAllPermissions();
票数 2
EN

Stack Overflow用户

发布于 2022-05-14 08:20:11

您可以使用auth()->user()->with('roles.permissions')->first();来同时加载这两个

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57478992

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档