Laravel 没有名为“admin”的角色。拉维尔

Laravel 没有名为“admin”的角色。拉维尔,laravel,spatie,laravel-permission,Laravel,Spatie,Laravel Permission,我使用这个软件包: 代码: $user=User::find(2); $user->assignRole('admin'); 当我将管理员角色分配给用户时,我正在处理这个错误 没有名为admin.Spatie\Permission\Exceptions\RoleDoesNotExist的角色 这是我在auth.php中的默认保护: <?php return [ 'defaults' => [ 'guard' =>

我使用这个软件包:

代码:

     $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,
        ],
    ],

只需将此受保护属性添加到您的用户模型(或用于分配权限和角色的任何模型)


protected$guard_name='api'

将其添加到您的用户模型中

use Spatie\Permission\Traits\HasRoles;
在用户模型类中

use HasRoles;
这是一个


@kerbholz请再次查看我的帖子,谢谢这篇文章写得非常好。引用文档“如果您使用多个防护装置,还需要设置防护装置名称属性。请在自述文件的“使用多个防护装置”部分中阅读相关内容”。链接如果不使用您指定的特征,您将无法获得问题中描述的错误,因此您没有回答问题