Bonjour,

Je suis avec symfony 2.3 et je voulais faire une requete un peu plus complexe avec doctrine.
Je m'explique, j'ai une entity User(id, nom, prenom) et une entity Profile(id, id_user, annee, att1, att2)
Entre les 2 entity j'ai une relation oneToMany avec 1 user peut avoir N Profile
Le profile étant le profile du user avec 1 seul par année.
Je voudrais faire une requete, du genre att1=1 mais uniquement sur les profiles les plus récent de chaque user.
En SQL j'aurai fait comme cela :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
SELECT u.nom
FROM profile p1
JOIN user u on u.id = p1.id_user
JOIN (
    SELECT MAX(p2.annee) defyear, p2.id_user
    FROM profile p2
    GROUP BY p2.id_user
) t2 ON p1.id = t2.id_user AND p1.annee = t2.defyear
WHERE p1.att1 = 1
Donc avec une sous requete dans le join.
Mais comment faire ça avec doctrine et le querybuilder ?
Merci de votre aide.