Делаю запрос нескольких секций фильтруя по ID, передавая массив ID разделов
Но в итоге получаю только одну секцию (в массиве $arResult['PROPERTIES']['PRICELIST']['VALUE'] в данном случае 3 значения). Решил переписать с помощью фильтра со сложной логикой те.
Но все равно получаю только 1 раздел (идущий первым в свойстве $arResult['PROPERTIES']['PRICELIST']['VALUE'])
Неужели каждый раздел придется запрашивать отдельным запросом к базе или я где-то допустил ошибку (хотя элементы подобным образом нормально фильтруются)?
Код |
---|
$priceSectionsIDs = $arResult['PROPERTIES']['PRICELIST']['VALUE']; //массив значений множественного свойства привязки к разделам [id1, id2, id3 ...] $sect_listDB = CIBlockSection::GetList( [ 'SORT' => 'ASC' ], [ 'IBLOCK_ID' => 14, 'ID' => $priceSectionsIDs //Фильтрация по ID ], false, false, [ 'IBLOCK_ID', 'ID', 'NAME' ] |
Но в итоге получаю только одну секцию (в массиве $arResult['PROPERTIES']['PRICELIST']['VALUE'] в данном случае 3 значения). Решил переписать с помощью фильтра со сложной логикой те.
Код |
---|
$sectionIdFilter = [ 'LOGIC' => 'OR', ]; foreach ($priceSectionsIDs as $keySect => $sectID) { $sectionIdFilter[] = [ 'ID' => (int)$sectID ]; } // те по итогу массив выглядит так $sectionIdFilter = [ 'LOGIC' => 'OR', array( 'ID' => #первый id#, ), array( 'ID' => #второй id#, ), array( 'ID' => #третий id#, ), ... ]; |
Но все равно получаю только 1 раздел (идущий первым в свойстве $arResult['PROPERTIES']['PRICELIST']['VALUE'])
Неужели каждый раздел придется запрашивать отдельным запросом к базе или я где-то допустил ошибку (хотя элементы подобным образом нормально фильтруются)?