![](/img/trans.png)
[英]Laravel Spatie Permissions - how to change default model 'role' by another model
[英]How to bind model to the Spatie role?
是否可以将特定的 model 附加到Spatie laravel 权限中的角色?
我需要获得 model 取决于角色。 例如,如果用户具有医生角色,我需要获得医生 model。诊所角色也是如此。
在不知道如何设置其下的体系结构的情况下很难知道您在寻找什么,但是您可以找到医生……虽然不确定是否直接绑定。
我假设您已经创建了一个 Spatie 角色并将其分配给 Doctor class(我假设它是一个扩展的 User 或类似的,并且正在使用 HasRoles ):
$role = Role::create(['name' => 'doctor']);
抓住医生并正常分配角色:
$doctor = Doctor::find(xxx);
$doctor->assignRole($role);
我认为以下内容可能会有所帮助:
$role= Role::findByName('doctor');
$roleClass= $role->getModel();
对于角色医生的文档
$docs= Doctor::role('doctor')->get();
如果你想区分 class(医生,用户),你需要在$doc
(或者甚至像User::role
集合这样的超集)上运行一个额外的命令,比如get_class
但这将取决于你如何设置查询并向上流动。 我不确定 Spatie 中是否有一种直接方法可以完全按照您的意愿进行操作,但是如果您可以提取用户的超集集合(其中可能包括 Doctor class),您至少可以分两步完成。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.