Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Фильрация пользователей (CUser::GetList),

00 голосов
3
Здравствуйте!Имею входящий массив $arUserXmlId; - представляет собой просто массив со внешними кодами пользователей для отбора. 
Что-то вроде:
Код
$arUserXmlId = array( 
'f22fa181-9e1f-11e0-9021-1c6f652f1aaa', 
'f22fa183-9e1f-11e0-9021-1c6f652f1aaa', 
'f22fa179-9e1f-11e0-9021-1c6f652f1aaa' 
);
Потом пытаюсь сделать выборку этих троих пользователей из базы данных следующим оригинальным образом.

Код
$arFilter = array("ACTIVE" => "Y", "XML_ID" => $arUserXmlId );  
$resUser = CUser::GetList(($by="personal_country"), ($order="desc"), $arFilter, array("SELECT" => array("UF_*")));     
while($arUser = $resUser ->Fetch())
   {       $arResult["USERS"][$arUser["XML_ID"]] = $arUser;
   } 

Вся эта чудная вещь не работает — выводит вообще всех пользователей.
ПРобовал также в таком формате "?XML_ID" => implode("|",$arUserXmlId) — то же самое, выводятся все.
("XML_ID" => implode("|",$ arUserXmlId ) — не выводит ничего)

Работает корректно только при указании конкретного — XML_ID не массива.

Как же получить в одном запросе выборку пользователей по набору XML_ID (или других свойств)?
спросил 18 Март, 14 от Eliga (360 баллов)

3 Ответы

00 голосов
документацию посмотрите CiblockElement::GetList  - там есть пример сложной логики, примерного вида:
http://dev.1c-bitrix.ru/api_help/iblock/classes/ciblockelement/getlist.php

Код
array(
        "LOGIC" => "OR",
        array("<PROPERTY_RADIUS" => 50, "=PROPERTY_CONDITION" => "Y"),
        array(">=PROPERTY_RADIUS" => 50, "!=PROPERTY_CONDITION" => "Y"),
    ),
ответил 10 Сен, 14 от Grimmi (2,560 баллов)
00 голосов
Цитата
Николай Санников пишет:
документацию посмотрите CiblockElement::GetList - там есть пример сложной логики, примерного вида:
Речь о пользователях
ответил 15 Янв, 15 от NitroGeN (2,840 баллов)
00 голосов
Цитата
Пётр Громов пишет:
Как же получить в одном запросе выборку пользователей по набору XML_ID (или других свойств)?

Через API -- никак.

Цитата
Николай Санников пишет:
документацию посмотрите CiblockElement::GetList

К CUser::GetList это не применимо.
ответил 01 Май, 15 от Ly (4,580 баллов)

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

0 голосов
2 ответов
0 голосов
1 ответ
спросил 09 Янв, 14 от malagoi (380 баллов)
0 голосов
0 ответов
спросил 29 Июль, 13 от Verm (120 баллов)
0 голосов
3 ответов
0 голосов
3 ответов
спросил 20 Март, 14 от Hukto (120 баллов)