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

GetList

Описание и параметры

CDBResult
CCatalogDiscountCoupon::GetList(
	array $arOrder = array(),
	array $arFilter = array(),
	mixed $arGroupBy = false,
	mixed $arNavStartParams = false,
	array $arSelectFields = array()
);

Метод выбирает купоны, соответствующие условиям. Нестатический метод.

Параметры вызова

Параметр Описание
arOrder Массив вида array(by1=>order1[, by2=>order2 [, ..]]), где by - поле для сортировки, может принимать значения:
  • ID - код (ID) купона;
  • DISCOUNT_ID - код (ID) скидки;
  • ACTIVE - активность купона;
  • ONE_TIME - флаг однократного использования купона;
  • COUPON - код купона;
  • DATE_APPLY - дата применения купона;
поле order - направление сортировки, может принимать значения:
  • asc - по возрастанию;
  • desc - по убыванию.
Необязательный. По умолчанию купоны не сортируются.
arFilter Массив параметров, по которым строится фильтр выборки. Имеет вид:
array(
	"[модификатор1][оператор1]название_поля1" => "значение1",
	"[модификатор2][оператор2]название_поля2" => "значение2",
	. . .
)
Удовлетворяющие фильтру записи возвращаются в результате, а записи, которые не удовлетворяют условиям фильтра, отбрасываются.
Допустимыми являются следующие модификаторы:
  • ! - отрицание;
  • + - значения null, 0 и пустая строка так же удовлетворяют условиям фильтра.
Допустимыми являются следующие операторы:
  • >= - значение поля больше или равно передаваемой в фильтр величины;
  • > - значение поля строго больше передаваемой в фильтр величины;
  • <= - значение поля меньше или равно передаваемой в фильтр величины;
  • < - значение поля строго меньше передаваемой в фильтр величины;
  • @ - оператор может использоваться для целочисленных и вещественных данных при передаче набора значений (массива). В этом случае при генерации sql-запроса будет использован sql-оператор IN, дающий компактную форму записи;
  • ~ - значение поля проверяется на соответствие передаваемому в фильтр шаблону;
  • % - значение поля проверяется на соответствие передаваемой в фильтр строке в соответствии с языком запросов.
"название поля" может принимать значения:
  • ID - код (ID) купона (число);
  • DISCOUNT_ID - код (ID) скидки (число);
  • ACTIVE - фильтр по активности (Y|N); передача пустого значения ("ACTIVE"=>"") выводит купоны без учета их состояния (строка);
  • ONE_TIME - флаг однократного использования купона (Y|N); передача пустого значения ("ONE_TIME"=>"") выводит купоны без учета их типа (строка);
  • COUPON - код купона (маска);
  • DATE_APPLY - дата применения купона (дата);
  • DESCRIPTION - комментарий (маска);
Значения фильтра - одиночное значение или массив значений.
Необязательное. По умолчанию купоны не фильтруются.
arGroupBy Массив полей для группировки купонов. имеет вид:
array("название_поля1", "название_поля2", . . .)
В качестве "название_поляN" может стоять любое поле каталога.

Если массив пустой, то метод вернет число записей, удовлетворяющих фильтру.
Значение по умолчанию - false - означает, что результат группироваться не будет.
arNavStartParams Массив параметров выборки. Может содержать следующие ключи:
  • "nTopCount" - количество возвращаемых методом записей будет ограничено сверху значением этого ключа;
  • любой ключ, принимаемый методом CDBResult::NavQuery в качестве третьего параметра.
Необязательный. По умолчанию false - купоны не ограничиваются.
arSelectedFields Массив полей записей, которые будут возвращены методом. Можно указать следующие поля ID, DISCOUNT_ID, ACTIVE, ONE_TIME, COUPON, DATE_APPLY, DISCOUNT_NAME и DESCRIPTION.
Если в массиве присутствует значение "*", то будут возвращены все доступные поля.
Необязательный. По умолчанию выводятся все поля.

Возвращаемое значение

Метод возвращает объект класса CDBResult.

Примеры использования

Пример проверки получения купона по "Коду купона":

if (CModule::IncludeModule("catalog"))
{ 
	$arFilter = array('COUPON' => 'CP-R8RFW-5YGGPZJ'); 
	$dbCoupon = CCatalogDiscountCoupon::GetList (array(), $arFilter); 
	if($arCoupon = $dbCoupon->Fetch()) 
	{ 
		echo "<pre>"; 
		print_r($arCoupon); 
		echo "</pre>"; 
	} 
	else
	{ 
		echo "купона нет"; 
	} 
}


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх