Bonjour,
Je tourne en rond sur un problème de sous requête et n'arrive pas trouver de solution qui fonctionne, voici le sujet
J'ai une table d'Articles (blog) et une table de Commentaires associés à ces Articles, je souhaite sortir une liste des Articles triée par l'id (ou le pseudo) du dernier user ayant fait un commentaire :
Article2 carla
Article12 carla
Article5 nicolas
Article7 nicolas
Article10 nicolas
Mes tables
Articles { id, titre ...}
Commentaires { id, id_article, id_user ...}
Je souhaite faire un
Le champ Commentaires.id étant autoincrement un max devrait suffire a trouver le plus récent.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 $q->from('Articles a') ->leftJoin('a.Commentaires c') ->where('c.id = ( select max(c2.id) from Commentaires c2 where c2.id_article = a.id group by c2.id_article )' ) ->orderBy('c.id_user')
le résultat retourné n'est pas le bon, en fait rien n'est retourné car Doctrine modifie complètement la sous requête et ne conserve pas mon alias c2 et le transforme en alias c
J'ai essayé avec $q2 = $q->createSubquery( ... ) mais je n'arrive pas non plus à m'en sortir
http://www.symfony-project.org/cookb..._with_doctrine
Qqu'un aurait-il déjà utilisé ce genre de chose qui sommes toutes est plutôt simple normalement :
Tnx
Partager