我正在使用Laravel 5.6和Spatie laravel-permission,我想修改 model_has_roles
所以它可以有一个名为 code
的额外字段 .
现在,我通过修改库通过下一个命令提供的迁移来做到这一点:
php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider" --tag="migrations"
该库提供了一个有用的命令:
$user->assignRole($role);
这让我可以在一行代码中为用户分配一个角色 . 我的问题是,使用此命令会抛出错误,因为我不能将 code
字段留空 . 无论哪种方式,我不能做这样的事情:
$user->assignRole($role, ['code' => '0001']
);
因为它会说 0001 is not a role
. 基本上,它假设我正在尝试为用户分配两个不同的角色: $role
和 0001
而实际上我正在尝试分配一个角色: $role
,并为表 model_has_roles
添加了一个额外的参数 .
有没有办法实现这样的事情?我想也许我可以修改 assignRole
方法背后的逻辑,但我不知道如何扩展/编辑库方法 .