Нет роли с именем `admin`. ларавел

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

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

код:

     $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

введите здесь описание изображения

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

введите здесь описание изображения


person ali dehqani    schedule 16.03.2020    source источник
comment
@kerbholz, пожалуйста, проверьте мой пост еще раз спасибо   -  person ali dehqani    schedule 16.03.2020


Ответы (2)


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

protected $guard_name = 'api';

person TEFO    schedule 16.03.2020
comment
Это прекрасно работает. Цитата из документации. Если вы используете несколько охранников, также необходимо установить атрибут guard_name. Прочтите об этом в разделе ридми, посвященном использованию нескольких охранников. ссылка docs.spatie.be/laravel-permission/v3/basic -usage / - person blakroku; 20.04.2020

Добавьте это в свою модель пользователя

use Spatie\Permission\Traits\HasRoles;

и в классе модели пользователя

use HasRoles;

Вот справочная информация

Полный пример

person Ateeq    schedule 24.05.2021
comment
Вы не можете получить ошибку, описанную в вопросе, без использования указанного вами признака, поэтому вы не отвечаете на вопрос - person Arman Petrosyan; 24.05.2021