Bonjour,
J'ai besoin d'aide pour effectuer une requête de type Select COUNT avec le query builder.
J'ai une table/entité Hotel et une table/entité Chambre
Pour récupérer et compter le nombre de chambres pour chaque hôtel, je fais la requête suivante en sql classique :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 select h.*, count(c.id) from hotel h join chambre c on c.hotel_id=h.id where h.ville_id=ville_id group by h.id
ça marche niquel !
Mais sous symfony, pour faire la même chose avec le querybuilder, c'est un vrai calvaire :
Dans le repository Hotel, je mets le code suivant :
Et lorsque dans mes vues j'essaie d'afficher les informations de chaque hotel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 $qb= $this->createQueryBuilder('h'); $qb->addSelect('COUNT(c.id)') ->join('h.chambres','c') ->where('h.ville = :ville') ->groupBy('c.hotel') ->setParameter('ville',$ville) ->getQuery()->getResult();
je reçois l'exception suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part {{hotel.nom }}, {{hotel.classment }}
J'aurais grand besoin d'aide pour identifier et régler mon problèmeKey "nom" for array with keys "0, 1" does not exist in EuropeVoyageBundle::listeHotels.html.twig at line 9
Partager