2016-11-25 4 views
3

я был в состоянии расширить Backend\Models\User класс и добавить контекстный метод запроса для получения только супер пользователей:октября CMS: Как продлить внутренний пользователь с ролью сферой

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'] 
]; 

ответ

1

Это должно сделать это

User::extend(function($model) { 
    $model->addDynamicMethod('scopeIsBookManager', function($query) { 
     return $query->whereHas('groups', function ($query) { 
      $query->where('code', 'BookManager'); 
     }); 
    }); 
}); 
Смежные вопросы