【问题标题】:Spatie Laravel permissions eager loadedSpatie Laravel 权限急切加载
【发布时间】:2019-12-20 02:01:07
【问题描述】:

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

这会返回关系中的角色:

auth()->user()->with('roles')->first();

但这会返回一个空关系:

auth()->user()->with('permissions')->first();

我如何渴望加载权限?我作为示例使用的用户是超级管理员,因此它应该包含所有权限的数组。

我错过了什么?谢谢

【问题讨论】:

  • 试试这个以获取所有身份验证用户角色User::select('id')->with(['roles'=>function($s){ return $s->select('roles.name as r_name'); }])->first();

标签: laravel-5.8 user-permissions laravel-permission


【解决方案1】:

试试这段代码

对于角色:-

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();

权限:-

use Spatie\Permission\Models\Permission;

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

OR

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

【讨论】:

    猜你喜欢
    • 2016-02-09
    • 1970-01-01
    • 2017-03-11
    • 2014-08-13
    • 2021-04-23
    • 2018-10-15
    • 1970-01-01
    • 1970-01-01
    • 2017-05-30
    相关资源
    最近更新 更多