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 :
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 :
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(); |
Et lorsque dans mes vues j'essaie d'afficher les informations de chaque hotel :
{{hotel.nom }}, {{hotel.classment }}
je reçois l'exception suivante :
Key "nom" for array with keys "0, 1" does not exist in EuropeVoyageBundle::listeHotels.html.twig at line 9
J'aurais grand besoin d'aide pour identifier et régler mon problème
Partager