merchantResolver = $merchantResolver; $this->sectionResolver = $sectionResolver; } public function createIndexQueryBuilder( SearchDto $searchDto, EntityDto $entityDto, FieldCollection $fields, FilterCollection $filters ): QueryBuilder { $queryBuilder = parent::createIndexQueryBuilder( $searchDto, $entityDto, $fields, $filters ); if ($this->isInstanceOf(FilterMerchantInterface::class)) { $queryBuilder->andWhere('entity.merchant = :merchant'); $queryBuilder->setParameter('merchant', $this->merchantResolver->getCurrent()); } if ($this->isInstanceOf(FilterSectionInterface::class)) { $queryBuilder->andWhere('entity.section = :section'); $queryBuilder->setParameter('section', $this->merchantResolver->getCurrent()); } return $queryBuilder; } }