我在项目作曲家软件包中使用了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")) {
//
}