createQueryBuilder('o'); if($document->getAccess()){ $queryBuilder ->innerJoin('o.accessPersons', 'p') ->andWhere('p.id = :person') ->setParameter('person', $document->getAccess()->getPerson()); }else{ $queryBuilder ->innerJoin('o.organization', 'or'); } $queryBuilder ->andWhere('o.name = :name') ->andWhere('o.type = :type') ->setParameter('name', $document->getName()) ->setParameter('type', $document->getType()); return $queryBuilder->getQuery()->getResult(); } }