我正在尝试创建一个将返回用户角色名称的访问器。可以访问 User 模型中的 getRoleNames() 方法吗?
//User Model
/**
* The accessors to append to the model's array form.
*
* @var array
*/
protected $appends = [
'role_name',
];
/**
* Ge the user's role name.
*
* @return Attribute
*/
public function roleName(): Attribute
{
return Attribute::make(
get: function () {
$user = User::find($this->id);
return $user->getRoleNames();
},
);
}
我尝试将其作为访问器,但它返回 null
您需要在您的用户模型中添加以下特征。
use \Spatie\Permission\Traits\HasRoles;
然后您就可以轻松访问它了。