serializer = $serializer; } /** * @inheritdoc */ protected function _construct() { parent::_construct(); $this->_idFieldName = RelevanceRuleInterface::RULE_ID; $this->_init( RelevanceRuleResource::class, RelevanceRule::class ); } /** * @return $this */ public function addActiveFilter(): Collection { $this->addStatusFilter(true); return $this; } public function addStatusFilter(bool $active): void { $this->addFieldToFilter(RelevanceRuleInterface::IS_ENABLED, ['eq' => (int) $active]); } /** * @param string $attributeCode * @return $this */ public function addAttributeInConditionFilter($attributeCode): Collection { $match = sprintf( '%%%s%%', substr($this->serializer->serialize(['attribute' => $attributeCode]), 1, -1) ); $this->addFieldToFilter(RelevanceRuleInterface::CONDITIONS, ['like' => $match]); return $this; } }