Bonjour
J'ai 2 tables A et B.
Actuellement, je fais une requete du type :
Je voudrais ajouter une nouvelle récupération de données qui me permettrait d'avoir en outre la liste des element de B associé a chaque element de A.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT A.*, COUNT(B.ID) FROM A LEFT JOIN B ON... GROUP BY A.* ORDER BY A.ID DESC
Typiquement, je fais objetA.getB()
La methode est dans mon entité, pas de problème.
Sauf que je voudrais que ces élémentss soient ordonnés par date décroisssante.
J'ai envisagé plusieurs solutions :
La première :
Ca me supprime des éléments, je ne sais pas trop pourquoi. Mais ca me parait un peu bancal comme requete SQL.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 SELECT A.*, B.*, COUNT(B2.ID) FROM A LEFT JOIN B ON... LEFT JOIN B2 ON... GROUP BY A.*, B.* ORDER BY A.ID DESC, B.created_at ASC
La seconde méthode consiste a crééer une metgode getB dans un repository, a crééer le code doctrine pour faire un query builder et à appeller cette méthode dans le controlleur... assez fastidieux.
La méthode que j'envisage serait d'ajouter dans mon entité une méthode :
getBOrderByCreatedAt()
Que je pourrais appeller directement depuis TWIG je pense.
Est ce que c'est faisable ?
Est ce que ca vous parait la bonne solution, ou est ce que je peux faire plus simple d'une manière ou d'ue autre ?
Merci,
Pierre
Partager