我已经能够扩展Backend\Models\User
类并添加范围查询方法以仅检索超级用户:
public function boot()
{
User::extend(function($model) {
$model->addDynamicMethod('scopeIsSuperUser', function($query) {
return $query->where('is_superuser', 1);
});
});
}
如何为特定群组中的用户设置范围方法?就像我只想要角色为“BookManager
”的用户一样。是否可以使用$groups
类中已定义的Backend\Models\User
关系?
public $belongsToMany = [
'groups' => ['Backend\Models\UserGroup', 'table' => 'backend_users_groups']
];
答案 0 :(得分:1)
这应该这样做
User::extend(function($model) {
$model->addDynamicMethod('scopeIsBookManager', function($query) {
return $query->whereHas('groups', function ($query) {
$query->where('code', 'BookManager');
});
});
});