getEntityManager()->createQueryBuilder(); $qb->select('s'); $qb->from('AppBundle:FewoSeason', 's'); $qb->innerJoin('s.prices', 'p'); $qb->where($qb->expr()->eq('p.lodging', $lodging->getId())); $qb->addOrderBy('s.toDate', 'DESC'); $qb->setMaxResults(1); return $qb->getQuery()->getOneOrNullResult(); } public function findSeasonForLodgingBy($lodging, $fromDate) { $qb = $this->getEntityManager()->createQueryBuilder(); $qb->select('s'); $qb->from('AppBundle:FewoSeason', 's'); $qb->innerJoin('s.prices', 'p'); $qb->where($qb->expr()->eq('p.lodging', $lodging->getId())); $qb->andWhere('s.fromDate <= :fromDate'); $qb->andWhere('s.toDate >= :fromDate'); $qb->setParameter('fromDate', $fromDate); $qb->addOrderBy('s.fromDate', 'DESC'); $qb->setMaxResults(1); return $qb->getQuery()->getOneOrNullResult(); } }