Недокументированная связка ElementTable и getEntity
Есть очень хорошая недокументированная связка. С помощью 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 )
Ещё статьи:
31.07.2024
Нюансы продления лицензии на 3 и 6 месяцев от 12 месяцев
На маркетплейсе есть такая кнопка "купить продление", при нажатии на неё есть выпадающий список продолжительность (3 мес. самый дешовый вариант и 6 мес.).
У розничного пользователя такой кнопки, она есть под партнёрским аккаунтом разработчика.
ID: 494
31.07.2024
Ошибка в блоке "Вы смотрели" на базе catalog.section
При создании блока "Вы смотрели" на базе catalog.section на детальной странице товара столкнулся с ошибкой, когда блок работал не корректно, и данные о просмотренных товарах не обновлялись.
ID: 493
28.05.2024
cURL error 28 Connection timed out after 10001 milliseconds
Ошибка загрузки загрузки обновлений вордпресс. Не даёт закачать обновление на сайт, возможно есть какая-то информация в логах сервера.
ID: 470