我使用此软件包:
代码:
$user=User::find(2);
$user->assignRole('admin');
并且当我为用户分配管理员角色时,我正在处理此错误
没有名为
admin
的角色。Spatie\ Permission \ Exceptions \ RoleDoesNotExist
这是我在auth.php中的默认防护:
<?php
return [
'defaults' => [
'guard' => 'api',
'passwords' => 'users',
],
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'token',
'provider' => 'users',
'hash' => false,
],
],
这是我的角色表:
这是我的role_has_permission表
这是我的权限表:
答案 0 :(得分:6)
只需将此受保护的属性添加到用户模型(或用于分配权限和角色的任何模型)中即可。
protected $guard_name = 'api';
答案 1 :(得分:0)
答案 2 :(得分:0)
将以下内容之一添加到您的 User
模型:
public $guard_name = 'api';
或者:
public function guardName()
{
return 'api';
}