【发布时间】:2021-12-05 20:50:29
【问题描述】:
我正在尝试创建一个使用 Jetstream(整页 Livewire 组件)的 Laravel 项目,并且我正在尝试使用 spatie/laravel-permission 获取权限。我总是得到错误
Spatie\Permission\Exceptions\RoleDoesNotExist 没有 ID 为
2的角色。
我有三个角色
1=Super Admin
2=Admin
3=User
谁能帮我解决这个问题?
用户 Livewire 组件
use Livewire\Component;
use App\Models\User;
use App\Models\Role;
class Users extends Component
{
public $userId;
public $userData;
public function addRole()
{
$this->userData = User::find($this->userId);
$this->userData->assignRole(2);
}
}
【问题讨论】:
-
Spatie 会缓存它的数据,所以如果不刷新缓存就直接向数据库插入数据,它不会识别角色。尝试运行
php artisan permission:cache-reset。如果这不起作用,您会为这些角色使用哪些警卫?
标签: php laravel laravel-livewire jetstream laravel-permission