我正在使用 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
为 table 添加一个额外的参数model_has_roles
。
有没有办法归档这样的东西?我想也许我可以修改assignRole
方法背后的逻辑,但我不知道如何扩展/编辑库方法。