Как найти элементы в Битрикс у которых значение свойства совпадает с заданным массивом значений?
Пытаюсь собрать следующим образом, но не то:
'''
if ($arResult['PROPERTIES']['MUADIL']['VALUE']){
$strcode=explode(",",$arResult['PROPERTIES']['MUADIL']['VALUE']);
}
$arSelect = Array("ID", "NAME", "CODE", "PROPERTY_DETALIN_KODU");
$arFilter = Array(
"IBLOCK_ID" => 30,
"ACTIVE_DATE"=>"Y",
"ACTIVE"=>"Y",
"PROPERTY_DETALIN_KODU_VALUE" => $strcode
);
$res = CIBlockElement::GetList(Array(), $arFilter, false, Array("nPageSize"=>50), $arSelect);
AddMessage2Log($res, "my_module_id");
while($ob = $res->GetNextElement())
{
$arFields = $ob->GetFields();
print_r($arFields);
}
'''
Ответы (1 шт):
Автор решения: maxkuku
→ Ссылка
Если у вас массив значений записан строкой через запятую, то и выбирать надо по соответствию строке.
Если массив в разном порядке, то заранее сортируйте элементы строки.
Также есть логические операторы:
$arFilter = Array(
...
"LOGIC"=>"AND",
"%=PROPERTY_DETALIN_KODU_VALUE"=>$strcode[0],
"%=PROPERTY_DETALIN_KODU_VALUE"=>$strcode[1],
"%=PROPERTY_DETALIN_KODU_VALUE"=>$strcode[2],
),