Laravel Spatie权限检查模型中的用户角色

时间:2020-03-19 11:49:16

标签: laravel eloquent relationship spatie laravel-7

我在项目作曲家软件包中使用了laravel spatie/laravel-permission。如何使用hasRole()方法检查用户角色是否包含内部模型?

示例

这在模型内部不起作用

<?php

namespace App\Models;

use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Spatie\Permission\Traits\HasRoles;
use Illuminate\Database\Eloquent\SoftDeletes;

class User extends Authenticatable
{
    use Notifiable, HasRoles, SoftDeletes;

    public function orders()
    {
        if($this->hasRole("client")) {
            //
        }
    }
}

当我在模型之外尝试此案例时,所有工作正常:

$user = User::find(4);
if($user->hasRole("client")) {
    //
}

0 个答案:

没有答案