Spatie Laravel Jetstream 中的 id '#' 没有任何作用

Chr*_*Paz 1 php laravel laravel-permission laravel-livewire laravel-jetstream

我正在尝试创建一个使用 Jetstream(一个全页 Livewire 组件)的 Laravel 项目,并且我正在尝试使用spatie/laravel-permission来获取权限。我总是得到以下错误

Spatie\Permission\Exceptions\RoleDoesNotExist 没有 id 的角色2

我有三个角色

1=Super Admin 
2=Admin 
3=User
Run Code Online (Sandbox Code Playgroud)

谁能帮我解决这个问题?

用户 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);
    }
}
Run Code Online (Sandbox Code Playgroud)

小智 6

清除 Spatie 缓存

php artisan cache:forget spatie.permission.cache 
Run Code Online (Sandbox Code Playgroud)

然后

php artisan cache:clear
Run Code Online (Sandbox Code Playgroud)

如果不起作用,请将此代码添加到模型中

protected $guard_name = 'api';
Run Code Online (Sandbox Code Playgroud)