CatalogViewedProductTable::setDefaultScope()
Сигнатура
public static setDefaultScope(Query $query) : Query
Параметры
$query
Query
Возвращаемое значение
Query
Как применяется в CatalogViewedProductTable
CatalogViewedProductTable::setDefaultScope() — метод класса \Bitrix\Catalog\CatalogViewedProductTable модуля «Торговый каталог». Это ORM-сущность D7 (наследник DataManager): строки читаются как объекты EO_CatalogViewedProduct, наборы — как EO_CatalogViewedProduct_Collection. Метод достаётся CatalogViewedProductTable от DataManager::setDefaultScope: поведение общее для всех сущностей, а данные, поля и классы — свои.
Добавляет условия по умолчанию в каждый запрос к CatalogViewedProductTable, созданный через query() или getList(). Переопределяют в наследнике, если, например, всегда нужно скрывать неактивные записи.
use Bitrix\Main\ORM\Query\Query;
class MyCatalogViewedProductTable extends \Bitrix\Catalog\CatalogViewedProductTable
{
public static function setDefaultScope(Query $query): Query
{
return $query->where('ID', '>', 0);
}
}Собственные методы CatalogViewedProductTable
clear()Очистить старые записи.clearAgent()Для агента.getProductSkuMap()Возвращает карту товаров: array('PRODUCT_ID' => 'ELEMENT_ID').getProductsMap()Возвращает карту идентификаторов: SKU_PRODUCT_ID => PRODUCT_ID.refresh()Общая функция, используемая для обновления/вставки любого товара.validateRecommendation()Возвращает валидаторы для поля RECOMMENDATION.validateSiteId()Возвращает валидаторы для поля SITE_ID.
setDefaultScope() есть и у других классов модуля «Торговый каталог»: CatalogIblockTable, DiscountCouponTable, DiscountModuleTable, DiscountRestrictionTable, DiscountTable, ExtraTable, GroupAccessTable, GroupLangTable.
Исходный файл: source/catalog/lib/catalogviewedproduct.php:304

