DiscountCouponTable::setDefaultScope()
Сигнатура
public static setDefaultScope(Query $query) : Query
Параметры
$query
Query
Возвращаемое значение
Query
Как применяется в DiscountCouponTable
DiscountCouponTable::setDefaultScope() — метод класса \Bitrix\Catalog\DiscountCouponTable модуля «Торговый каталог». Это ORM-сущность D7 (наследник DataManager): строки читаются как объекты EO_DiscountCoupon, наборы — как EO_DiscountCoupon_Collection. Метод достаётся DiscountCouponTable от DataManager::setDefaultScope: поведение общее для всех сущностей, а данные, поля и классы — свои.
Добавляет условия по умолчанию в каждый запрос к DiscountCouponTable, созданный через query() или getList(). Переопределяют в наследнике, если, например, всегда нужно скрывать неактивные записи.
use Bitrix\Main\ORM\Query\Query;
class MyDiscountCouponTable extends \Bitrix\Catalog\DiscountCouponTable
{
public static function setDefaultScope(Query $query): Query
{
return $query->where('ID', '>', 0);
}
}Собственные методы DiscountCouponTable
checkCoupon()Проверить купон.checkDiscountId()Проверить id скидки.couponManager()Вернуть методы для менеджера купонов.deleteByDiscount()Удалить все купоны для скидки.getCouponTypes()Возвращает список типов купонов.getData()Вернуть описание купона.isExist()Проверить существующий купон.saveApplied()Сохранить применённые купоны.validateCoupon()Возвращает валидаторы для поля COUPON.validateDiscountId()Возвращает валидаторы для поля DISCOUNT_ID.
setDefaultScope() есть и у других классов модуля «Торговый каталог»: CatalogIblockTable, CatalogViewedProductTable, DiscountModuleTable, DiscountRestrictionTable, DiscountTable, ExtraTable, GroupAccessTable, GroupLangTable.
Исходный файл: source/catalog/lib/discountcoupon.php:304

