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

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