1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
$qb=$this->createQueryBuilder('h');
$list=$qb
->addselect('c')
->where('h.ville = :ville')
->join('h.chambres','c')
->leftJoin('c.usersChambres','r','WITH',$qb->expr()->orX(
$qb->expr()->between(':datedep','r.dateDebut','r.dateFin'),
$qb->expr()->between(':dateret','r.dateDebut','r.dateFin'),
$qb->expr()->between('r.dateDebut',':datedep',':dateret'),
$qb->expr()->between('r.dateFin',':datedep',':dateret')
))
->andWhere('r.user IS NULL')
->groupBy('c.hotel')
->having('count(c.id) >= :nbch')
->setParameters(array('ville'=>$ville,'nbch'=>$nbch, 'datedep'=>$datedep, 'dateret'=>$dateret))
->getQuery()->getResult(); |