getList
\Bitrix\Catalog\Model\Entity public static \Bitrix\Catalog\Model\Product::getList( array $parameters );
Метод создает выборку товаров по параметрам ORM-запроса и возвращает модель для последовательного чтения строк. Статический метод.
Метод унаследован от \Bitrix\Catalog\Model\Entity. Эта страница описывает поля ProductTable и особенности кеша модели Product.
Параметры
| Параметр | Описание |
|---|---|
$parameters | Массив параметров ORM-запроса к \Bitrix\Catalog\ProductTable |
Ключи массива $parameters
| Ключ | Описание |
|---|---|
select |
Массив полей, которые нужно вернуть
[ "ID", "TYPE", "AVAILABLE", "QUANTITY" ]Если ключ не передан, ORM выбирает все скалярные поля товара. Если список не содержит * и ключ group не задан, модель временно добавляет кешируемые поля. Метод fetch() удаляет добавленные поля из возвращаемой строки
|
filter |
Массив условий отбора или объект \Bitrix\Main\ORM\Query\Filter\ConditionTree
[ "=AVAILABLE" => "Y", ">QUANTITY" => 0, "@TYPE" => [1, 4] ] Основные операторы:
|
group |
Массив полей группировки
[ "TYPE", "AVAILABLE" ]Если ключ не передан или массив пуст, ORM не группирует строки |
order |
Массив полей и направлений сортировки
[ "TYPE" => "ASC", "ID" => "DESC" ]Допустимы направления ASC и DESC. ORM применяет поля последовательно в порядке элементов массива. Если ключ не передан, результат не имеет заданной сортировки
|
limit | Максимальное количество строк. Если ключ не передан, количество не ограничено |
offset | Количество строк, которые нужно пропустить от начала выборки. По умолчанию выборка начинается с первой строки |
count_total | Значение true включает подсчет общего количества строк без учета limit и offset |
runtime | Массив полей, которые ORM создает только для текущего запроса |
data_doubling | Логическое значение, которое управляет обработкой дублирования данных при фильтрации по связям |
private_fields | Логическое значение, которое разрешает или запрещает использовать приватные поля ORM-объекта |
cache |
Настройки кеширования ORM-запроса
[ "ttl" => 3600, "cache_joins" => true ]Ключ ttl задает время хранения результата в секундах, а cache_joins разрешает кешировать запросы с объединениями таблиц
|
Возвращаемое значение
Метод возвращает объект \Bitrix\Catalog\Model\Entity. При вызове через Product результат является объектом \Bitrix\Catalog\Model\Product. Метод fetch() последовательно возвращает строки как ассоциативные массивы или false, когда строки закончились.
Если ключ select не задан, строка содержит скалярные поля таблицы:
| Ключ | Описание |
|---|---|
| ID | Идентификатор товара, целое число |
| QUANTITY | Доступное количество, число |
| QUANTITY_TRACE | Результирующая настройка количественного учета |
| QUANTITY_TRACE_ORIG | Исходная настройка количественного учета |
| WEIGHT | Вес товара, число |
| TIMESTAMP_X | Дата и время изменения |
| PRICE_TYPE | Тип оплаты |
| RECUR_SCHEME_LENGTH | Длина периода регулярной оплаты |
| RECUR_SCHEME_TYPE | Единица периода регулярной оплаты |
| TRIAL_PRICE_ID | Идентификатор товара с пробной ценой или null |
| WITHOUT_ORDER | Признак продажи без оформления заказа |
| SELECT_BEST_PRICE | Признак выбора лучшей цены |
| VAT_ID | Идентификатор ставки НДС или null |
| VAT_INCLUDED | Признак включения НДС в цену |
| CAN_BUY_ZERO | Результирующая настройка покупки при нулевом остатке |
| CAN_BUY_ZERO_ORIG | Исходная настройка покупки при нулевом остатке |
| NEGATIVE_AMOUNT_TRACE | Настройка покупки при отрицательном остатке |
| NEGATIVE_AMOUNT_TRACE_ORIG | Исходная настройка покупки при отрицательном остатке |
| TMP_ID | Временный идентификатор или null |
| PURCHASING_PRICE | Закупочная цена или null |
| PURCHASING_CURRENCY | Валюта закупочной цены или null |
| BARCODE_MULTI | Признак поддержки нескольких штрихкодов |
| QUANTITY_RESERVED | Зарезервированное количество |
| SUBSCRIBE | Результирующая настройка подписки на поступление |
| SUBSCRIBE_ORIG | Исходная настройка подписки на поступление |
| WIDTH | Ширина товара или null |
| LENGTH | Длина товара или null |
| HEIGHT | Высота товара или null |
| MEASURE | Идентификатор единицы измерения или null |
| TYPE | Тип товара |
| AVAILABLE | Признак доступности для покупки |
| BUNDLE | Признак комплекта |
Исключения
\Bitrix\Main\ArgumentException— параметры ORM-запроса содержат некорректное значение,\Bitrix\Main\ObjectNotFoundException— модель не смогла получить объект ORM-таблицы,\Bitrix\Main\ObjectPropertyException— ORM не смогла получить свойство объекта,\Bitrix\Main\SystemException— ORM не смогла построить или выполнить запрос.
Пример
<?php
use Bitrix\Catalog\Model\Product;
use Bitrix\Main\Loader;
if (!Loader::includeModule('catalog'))
{
throw new RuntimeException('Не удалось подключить модуль catalog');
}
try
{
$products = Product::getList([
'select' => ['ID', 'TYPE', 'AVAILABLE', 'QUANTITY'],
'filter' => [
'=AVAILABLE' => 'Y',
'>QUANTITY' => 0,
],
'order' => ['ID' => 'ASC'],
'limit' => 20,
]);
while ($product = $products->fetch())
{
print_r($product);
}
}
catch (Throwable $exception)
{
echo $exception->getMessage();
}
Была ли эта страница полезна?
Что можно улучшить?
Пользовательские комментарии
Помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2026, «1С-Битрикс», 2026