Пример использования метода 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(); } |