method public static

DiscountTable::setDefaultScope()

Класс: \Bitrix\Sale\Internals\DiscountTable

Сигнатура

public static setDefaultScope(Query $query) : Query

Параметры

$query Query

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

Query

Как применяется в DiscountTable

DiscountTable::setDefaultScope() — метод класса \Bitrix\Sale\Internals\DiscountTable модуля «Интернет-магазин». Это ORM-сущность D7 (наследник DataManager): строки читаются как объекты EO_Discount, наборы — как EO_Discount_Collection. Метод достаётся DiscountTable от DataManager::setDefaultScope: поведение общее для всех сущностей, а данные, поля и классы — свои.

Добавляет условия по умолчанию в каждый запрос к DiscountTable, созданный через query() или getList(). Переопределяют в наследнике, если, например, всегда нужно скрывать неактивные записи.

use Bitrix\Main\ORM\Query\Query;

class MyDiscountTable extends \Bitrix\Sale\Internals\DiscountTable
{
    public static function setDefaultScope(Query $query): Query
    {
        return $query->where('ID', '>', 0);
    }
}

Собственные методы DiscountTable

  • setAllUseCoupons() Устанавливает флаг наличия купонов для всех скидок.
  • setUseCoupons() Установить флаг наличия купонов для списка скидок.
  • validateCurrency() Возвращает валидаторы для поля CURRENCY.
  • validateDiscountType() Возвращает валидаторы для поля DISCOUNT_TYPE.
  • validateExecuteModule() Возвращает валидаторы для поля EXECUTE_MODULE.
  • validateLid() Возвращает валидаторы для поля LID.
  • validateName() Возвращает валидаторы для поля NAME.
  • validatePresetId() Возвращает валидаторы для поля PRESET_ID.
  • validateXmlId() Возвращает валидаторы для поля XML_ID.

setDefaultScope() есть и у других классов модуля «Интернет-магазин»: CashboxRestHandlerTable, DeliveryRestHandlerTable, DiscountCouponTable, DiscountEntitiesTable, DiscountGroupTable, DiscountModuleTable, EntityLabelTable, PayableItemTable.

Исходный файл: source/sale/lib/internals/discount.php:304

Что будем искать? Например,Продвижение