Главная

Пакет aak74/bx-data предназначен для облегчения доступа к данным в 1C-Bitrix. Теперь доступ к различным данным можно получить одинаковым способом. Вне зависимости от того инфоблок это или highload блок.

Простой пример

Для получения списка моделей авто досаточно написать:
$models = new \App\Catalog\Model;
$result = $models->getList();

В переменной $result вы получаете массив моделей. Больше никаких циклов, никаких GetNext, Fetch и прочего.

Более сложный пример:

Два highload блока с фильтром и сортировкой
<?php
$models = new \App\Catalog\Model;

$result = $models->getList([
    "select" => ["id", "name", "brandId", "brandName"],
    "filter" => ["brandId" => 120],
    "order" => ["name" => "asc"],
]);

Сформированный SQL

SELECT
    `model`.`ID` AS `ID`,
    `model`.`UF_NAME` AS `UF_NAME`,
    `model`.`UF_BRAND` AS `UF_BRAND`,
    `model_brandname_`.`UF_NAME` AS `brandName`
FROM `b_hlbd_auto_model` `model`
LEFT JOIN `b_hlbd_auto_brand` `model_brandname_` ON `model`.`UF_BRAND` = `model_brandname_`.`ID`
WHERE `model`.`UF_BRAND` = 120
AND (`model`.`UF_DELETED` IS NULL OR `model`.`UF_DELETED` = 0)
ORDER BY `model`.`UF_NAME` ASC