Недокументированная связка ElementTable и getEntity
С документацией нового ядра D7 довольно всё печально, это общеизвестный факт и битрикс разработчикам младшего и среднего звена не всегда очевидно как с этим ядром работать. Не хватает примеров в описании методов.
Есть очень хорошая недокументированная связка. С помощью ElementTable::getEntity создаем объект Query. В качестве параметра он принимает объект сущности, относительно которой мы строим запрос используя методы \Bitrix\Main\Entity\Query
Есть очень хорошая недокументированная связка. С помощью 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 )
Ещё статьи:
06.04.2022
Своё АПИ на сайте битрикс без модуля
Искал куда компонент спрятали и нашёл такую реализацию мини АПИ без модуля.
ID: 333
18.03.2022
Получение минимальной цены и сохранение в свойство
Пополнение - пример события OnPriceUpdate для получение минимальной цены и сохранения в свойство инфоблока.
ID: 332
12.02.2022
Проверка групп пользователя и исключение разделов
Пример события для проверки групп пользователя с целью исключить разделы из общего доступа
ID: 331