Там нет роли с именем `admin`. laravel - PullRequest
1 голос
/ 16 марта 2020

я использую этот пакет:

https://github.com/spatie/laravel-permission/tree/v2

код:

     $user=User::find(2);
    $user->assignRole('admin');

и когда я назначаю роль администратора для пользователя Я имею дело с этой ошибкой

Нет роли с именем admin .Spatie \ Permission \ Exceptions \ RoleDoesNotExist

, это моя защита по умолчанию в аутентификации. php:

    <?php

return [

    'defaults' => [
        'guard' => 'api',
        'passwords' => 'users',
    ],


    'guards' => [
        'web' => [
            'driver' => 'session',
            'provider' => 'users',
        ],

        'api' => [
            'driver' => 'token',
            'provider' => 'users',
            'hash' => false,
        ],
    ],

это моя таблица ролей:

enter image description here

это моя таблица role_has_permission

enter image description here

и это моя таблица разрешений:

enter image description here

1 Ответ

3 голосов
/ 16 марта 2020

просто добавьте это защищенное свойство в вашу пользовательскую модель (или любую другую модель, которую вы используете для назначения разрешений и ролей).

protected $guard_name = 'api';

...