Документация для разработчиков
Темная тема

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
Наверх