Недокументированная связка ElementTable и getEntity

Просмотров: 2396
С документацией нового ядра D7 довольно всё печально, это общеизвестный факт и битрикс разработчикам младшего и среднего звена не всегда очевидно как с этим ядром работать. Не хватает примеров в описании методов.

Есть очень хорошая недокументированная связка. С помощью ElementTable::getEntity создаем объект Query. В качестве параметра он принимает объект сущности, относительно которой мы строим запрос используя методы \Bitrix\Main\Entity\Query

            // создаем объект Query
            $query = new \Bitrix\Main\Entity\Query(Bitrix\Iblock\ElementTable::getEntity());
            $query

 //\Bitrix\Main\Entity\Query::setSelect- не статический метод составляет список полей для оператора SELECT.
                ->setSelect(array("ID", "PREVIEW_PICTURE", "DETAIL_PICTURE","SORT"))
//\Bitrix\Main\Entity\Query::setFilter - не статический метод устанавливает список фильтров для оператора WHERE.
                ->setFilter(array("IBLOCK_ID" => '2',"ACTIVE" => 'Y'))
//\Bitrix\Main\Entity\Query::setOrder - не статический метод устанавливает список полей для оператора ORDER BY.
                ->setOrder(array("ID" => "ASC"))
//\Bitrix\Main\Entity\Query::setLimit - не статический метод устанавливает лимит для оператора LIMIT n.
                ->setLimit(50);
//exec — Выполнить внешнюю программу - exec() выполняет команду command.
            $ob = $query->exec();
//\Bitrix\Main\DB\Result::fetch - не статический метод получает строку из результата запроса и возвращает её в ассоциативном массиве с конвертированными данными или возвращает false при пустых данных.
            while($res = $ob->fetch())             {             } //принт получаемых данных [0] => Array ( [ID] => 4 [PREVIEW_PICTURE] => [DETAIL_PICTURE] => 47 [SORT] => 810 )

Ещё статьи:

20.05.2025 Во что можно влететь при обновлении или почему важно ТЗ
Получил запрос от клиента, что "нам просто нужно обновить битрикс", который автоматически тянет за собой перевод старого сайта на версию РНР 8. ID: 619

20.05.2025 В устаревших версиях модулей от eSolutions и Маяк есть уязвимости.
Устаревшие версии eSolutions и Маяк - риск взлома вашего сайта. Обновите эти решения на вашем сайте. ID: 618

18.05.2025 Успешный IT фрилансер - кто это и как им стать?
Кто такой фрилансер
Часто вижу темы с вопросом как найти работу фрилансером, как начать и т.д., но все задающие вопросы не понимают базу, саму суть ID: 617

© 2015-2025 Web админ
Связаться по WhatsApp