Недокументированная связка ElementTable и getEntity
Просмотров: 2227
С документацией нового ядра 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 )
Ещё статьи:
27.11.2024
Ошибка при 1с обмене 502 Bad Gateway
Произошла ошибка на стороне сервера. Получен неизвестный статус импорта.
Обмен не выполнен. Ответ сервера: 502 Bad Gateway
ID: 540
20.11.2024
Задача для РНР, разработать Футбольный календарь
На первый взгляд задача кажется не сложной, но это не так. Нужно учитывать, что она займёт время, многие не успевают сделать в сроки.
ID: 538
20.11.2024
Нюансы обмена доставок один случай
Описание проблемы.
В сторону 1С синхронизацию доставок она налажена, информация записывается (проставляется тип доставки, зона доставки)
ID: 537