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

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