J'ai la requête MySQL suivante qui fonctionne :
SELECT *
FROM bogenantworten a
RIGHT JOIN
bogenfragen f ON f.id = a.bogenfragen_id
AND a.personen_id = 3,
BogenTyp t,
BogenFragenGruppe g
WHERE
t.id = f.fragentyp_id AND
g.id = f.fragengruppen_id AND
t.id = 1
ORDER BY f.sortierung ASC
J'ai maintenant besoin de cela dans Doctrine2 DQL ou QueryBuilder. J'ai déjà appris que D2 m'oblige à penser en objets, mais je n'ai pas trouvé de conseils sur la façon de marquer mes entités pour que cela fonctionne.
J'aimerais que la requête MySQL ci-dessus fonctionne dans mon application Symfony2 ou que l'on m'aide à annoter mes entités de manière à ce que la connexion de jointure droite entre BogenAntworten et BogenFragen fonctionne (le 3 et le 1 sont des paramètres, juste pour que vous le sachiez). J'ai déjà défini les annotations OneToMany et ManyToOne pour toutes mes entités, mais j'ai besoin de quelque chose pour faire fonctionner une jointure droite/gauche.
Si vous souhaitez m'aider dans la conception de mon entité :
J'ai des personnes (table Person) qui répondent (table BogenAntworten) à des questions (table BogenFragen), et lorsque j'affiche la liste des questions, j'obtiens soit la dernière réponse de cette question (besoin d'UPDATE lors de la sauvegarde), soit il n'y en a pas et je dois la créer (INSERT lors de la sauvegarde). Les questions sont également classées dans un des nombreux types (table BogenTyp) et dans un des nombreux groupes (table BogenFragenGruppe).
Des idées ?