Пример использования метода decompose класса QueryHelper, для исправления ошибки выборки при использовании коллекций ORM Bitrix
В коллекции будет доступно:
В коллекции будет доступно:
- Элементы инфоблока
- Элемент инфоблока связанные с элементами инфоблока ($iblockId)
- Значения св-ва с кодом COLOR элементов которые связаны с элементами инфоблока ($iblockId)
use Bitrix\Main\ORM\Query\QueryHelper;
$entity = Iblock::wakeUp($iblockId)->getEntityDataClass();
$referencePropCode = 'PROCEDURE_ID'; // код св-ва тип "Привязка к элементам" которое используется для связи элементов инфоблоков
$query = $entity::query()
->setSelect([
'ID',
'NAME',
'PREVIEW_TEXT',
'PREVIEW_PICTURE' => '',
$referencePropCode .'_ID_VALUE' => $referencePropCode,
$referencePropCode . '.ELEMENT.NAME',
$referencePropCode . '.ELEMENT.COLOR.VALUE'
])
->setOrder(["ID" => "desc"])
->setFilter([])
->setLimit(10)
->setOffset(0);
$collection = QueryHelper::decompose($query);
foreach ($collection as $element) {
$element->getId();
} |