merchantResolver = $merchantResolver; $this->sectionResolver = $sectionResolver; } protected function setCriteria(array $criteria) :array { $criteria = parent::setCriteria($criteria); $className = $this->getClassMetadata()->getName(); $entity = new $className; if ($entity instanceof FilterMerchantInterface) { if (!isset($criteria['merchant'])) { $criteria['merchant'] = $this->merchantResolver->getCurrent(); } if ($criteria['merchant'] === false) { unset($criteria['merchant']); } } if ($entity instanceof FilterSectionInterface) { if (!isset($criteria['section'])) { $criteria['section'] = $this->sectionResolver->getCurrent(); } if ($criteria['section'] === false) { unset($criteria['section']); } } return $criteria; } }