addWhere($queryBuilder, $resourceClass, $operationName); } public function applyToItem(QueryBuilder $queryBuilder, QueryNameGeneratorInterface $queryNameGenerator, string $resourceClass, array $identifiers, string $operationName = null, array $context = []): void { $this->addWhere($queryBuilder, $resourceClass, $operationName); } private function addWhere(QueryBuilder $queryBuilder, string $resourceClass, string $operationName): void { if (AddressPostal::class !== $resourceClass) { return; } /** @var Access $currentUser */ $currentUser = $this->security->getUser(); $rootAlias = $queryBuilder->getRootAliases()[0]; $queryBuilder ->innerJoin(sprintf('%s.organizationAddressPostal', $rootAlias), 'organization_address_postal') ->andWhere('organization_address_postal.organization = :organization') ->setParameter('organization', $currentUser->getOrganization()) ; } }