createQueryBuilder('a'); $qb->where('a.type = :type') ->setParameter('type', AddressPostalTypeEnum::ADDRESS_PRINCIPAL); if ($owner instanceof Place) { $qb->andWhere('a.place = :place') ->setParameter('place', $owner); } if ($owner instanceof Person) { $qb->andWhere('a.person = :person') ->setParameter('person', $owner); } if ($owner instanceof Organization) { $qb->andWhere('a.organization = :organization') ->setParameter('organization', $owner); } return $qb->getQuery()->getOneOrNullResult(); } } ?>