@YakutD

Почему в выборку попадают все пользователи?

Здравствуйте. Хочу сделать выборку юзеров, которые НЕ входят в определенные группы.
Вот мой код:
$users = CUser::GetList(['LAST_NAME'=>'asc'],'asc',['!GROUPS_ID'=>[29,35,30,279,34]]);

Далее я делаю обычный перебор через While и вывожу id полученных юзеров.
По факту я получаю выборку из ВСЕХ юзеров.
Я пробовал также сначала получить айди пользователей входящих в ненужные группы, и фильтровать по !ID=>[список айди этих юзеров] но не помогло, результат тот же. Что не так в моем коде?
  • Вопрос задан
  • 44 просмотра
Решения вопроса 1
alex-1917
@alex-1917
Если ответ помог, отметь решением
есть же готовый пример в комментах к офф. документации...
Стандартный фильтр не позволяет задать отрицание по группам. Решение в два шага.

// Сперва выберем ID пользователей, которые входят в ту группу, по которой нужно сделать исключение
$arUsers = CGroup::GetGroupUs er(3);

// На втором шаге, используя сложную логику сделаем отрицание по выбранным ID пользователей
$rsUsers = CUser::GetList($by = "", $order = "", array("ID" => "~".implode("& ~", $arUsers)));
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы