Я настраиваю REST API, используя Laravel 5.7.Для проверки подлинности I JWT-auth и для разрешений и ролей я использую Spatie .
Моя проблема: при попытке связать роль с пользователем я получаю следующееошибка
Spatie \ Permission \ Exceptions \ RoleDoesNotExist
There is no role named admin.
Роль существует в базе данных:
Вот как я пытаюсь назначить роль пользователю:
$user = User::findOrFail(1);
$user->assignRole('admin');
Поскольку я новичок в Laravel, я не уверен, что это актуально, но, установив JWT, мне пришлось изменить драйвер охранника в config/auth.php
на jwt
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'jwt',
'provider' => 'users',
],
],
Я не вижу, что я делаю не так.Я добавил роли, а затем попытался добавить роль пользователю.