Сначала я ищу конкретного пользователя по ключевому слову, затем я хочу проверить, принадлежит ли этот пользователь к одной конкретной группе «mygroupcode». В идеале эти два утверждения следует объединить.
Я пробовал следующее:
Код: Выделить всё
public function onSelect() {
$s2_opts = [];
foreach(User::where('surname', 'LIKE', '%'.Input::get('q').'%')->orWhere('name', 'LIKE', '%'.Input::get('q').'%')->get() as $user) {
if($user->groups()->whereName('mygroupcode')->exists()) {
array_push($s2_opts, array('id' => $user->id, 'text' => $user->name . ' ' . $user->surname));
}
}
return json_encode($s2_opts);
}
Кроме того, я пробовал:
Код: Выделить всё
public function onSelect() {
$s2_opts = [];
foreach(User::where('surname', 'LIKE', '%'.Input::get('q').'%')->orWhere('name', 'LIKE', '%'.Input::get('q').'%')->get() as $user) {
if(in_array('mygroupcode',array_keys($user->groups))) {
array_push($s2_opts, array('id' => $user->id, 'text' => $user->name . ' ' . $user->surname));
}
}
return json_encode($s2_opts);
}
Кроме того, я заметил, что есть метод inGroup(), но он выдает ту же ошибку. ..
Код: Выделить всё
public function onSelect() {
$s2_opts = [];
foreach(User::where('surname', 'LIKE', '%'.Input::get('q').'%')->orWhere('name', 'LIKE', '%'.Input::get('q').'%')->get() as $user) {
if($user->inGroup('mygroupcode')) {
array_push($s2_opts, array('id' => $user->id, 'text' => $user->name . ' ' . $user->surname));
}
}
return json_encode($s2_opts);
}
Обратите внимание на следующие связанные вопросы. Речь идет о списках внутренних пользователей. Я хочу отфильтровать пользователей внешнего интерфейса.
- Проверьте, принадлежит ли внутренний пользователь в группу
- Если внутренний пользователь принадлежит к группе
- Верхний пользователь в группе с Twig
Подробнее здесь: https://stackoverflow.com/questions/456 ... ser-plugin
Мобильная версия