getList
\Bitrix\Catalog\Model\Entity public static \Bitrix\Catalog\Model\Price::getList( array $parameters );
Метод создает выборку цен по параметрам ORM-запроса и возвращает модель для последовательного чтения строк. Статический метод. Метод унаследован от \Bitrix\Catalog\Model\Entity.
Параметры
| Параметр | Описание |
|---|---|
$parameters | Массив параметров ORM-запроса к \Bitrix\Catalog\PriceTable |
Ключи массива $parameters
| Ключ | Описание |
|---|---|
select |
Массив возвращаемых полей
[ "ID", "PRODUCT_ID", "CATALOG_GROUP_ID", "PRICE", "CURRENCY" ]Если ключ не передан, ORM выбирает все скалярные поля цены. Если список не содержит * и ключ group не задан, модель временно добавляет кешируемые поля. Метод fetch() удаляет добавленные поля из возвращаемой строки
|
filter |
Массив условий отбора или объект \Bitrix\Main\ORM\Query\Filter\ConditionTree
[ "=PRODUCT_ID" => 123, "@CATALOG_GROUP_ID" => [1, 2], ">PRICE" => 0 ] Основные операторы:
|
group |
Массив полей группировки
[ "PRODUCT_ID", "CATALOG_GROUP_ID" ]Если ключ не передан или массив пуст, ORM не группирует строки |
order |
Массив полей и направлений сортировки
[ "PRICE" => "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. При вызове через Price результат является объектом \Bitrix\Catalog\Model\Price. Метод fetch() возвращает цены как ассоциативные массивы или false, когда строки закончились.
Если ключ select не задан, строка содержит поля:
| Ключ | Описание |
|---|---|
| ID | Идентификатор цены, целое число |
| PRODUCT_ID | Идентификатор товара, целое число |
| EXTRA_ID | Идентификатор наценки или null |
| CATALOG_GROUP_ID | Идентификатор типа цены, целое число |
| PRICE | Значение цены, число |
| CURRENCY | Трехсимвольный код валюты |
| TIMESTAMP_X | Дата и время изменения |
| QUANTITY_FROM | Нижняя граница количества или null |
| QUANTITY_TO | Верхняя граница количества или null |
| TMP_ID | Временный идентификатор или null |
| PRICE_SCALE | Цена в базовой валюте, число |
Исключения
\Bitrix\Main\ArgumentException— параметры ORM-запроса содержат некорректное значение;\Bitrix\Main\ObjectNotFoundException— модель не смогла получить объект ORM-таблицы;\Bitrix\Main\ObjectPropertyException— ORM не смогла получить свойство объекта;\Bitrix\Main\SystemException— ORM не смогла построить или выполнить запрос.
Пример
<?php
use Bitrix\Catalog\Model\Price;
use Bitrix\Main\Loader;
if (!Loader::includeModule('catalog'))
{
throw new RuntimeException('Не удалось подключить модуль catalog');
}
// Идентификатор существующего товара
$productId = 123;
try
{
$prices = Price::getList([
'select' => ['ID', 'CATALOG_GROUP_ID', 'PRICE', 'CURRENCY'],
'filter' => ['=PRODUCT_ID' => $productId],
'order' => ['PRICE' => 'ASC'],
]);
while ($price = $prices->fetch())
{
print_r($price);
}
}
catch (Throwable $exception)
{
echo $exception->getMessage();
}
Была ли эта страница полезна?
Что можно улучшить?
Пользовательские комментарии
Помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2026, «1С-Битрикс», 2026