Droit de la Rejoindre dans Doctrine2 pour Symfony2
J'ai le travail suivants requête MySQL:
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
Maintenant j'ai besoin de ce Doctrine2 DQL ou QueryBuilder. J'ai déjà appris que D2 est en me forçant à penser à des objets, mais je ne pouvais pas trouver toutes les conseils sur la façon de balise de mes entités pour faire ce travail.
Donc j'aimerais avoir le dessus requête MySQL qui travaille dans mon Symfony2 application ou de l'aide comment annoter mes entités droit donc j'ai le droit de travailler rejoindre la connexion entre BogenAntworten et BogenFragen (le 3 et le 1 sont des paramètres, si vous le savez). J'ai déjà mis la OneToMany et ManyToOne annotations pour toutes mes entités, mais j'ai besoin de quelque chose à prendre à droite/à gauche rejoindre de travail.
Si vous voulez m'aider avec mon entité de conception:
J'ai des personnes (table Personne) qui répond (tableau BogenAntworten) questions (tableau BogenFragen), et quand j'affiche la liste des questions que je soit la dernière réponse à cette question (mise à JOUR lors de l'enregistrement) ou il n'y a aucun et j'ai pour le créer (INSÉRER lors de l'enregistrement). Des Questions sont également dans l'un des nombreux types (tableau BogenTyp) et sont dans l'un des nombreux groupes (tableau BogenFragenGruppe)
Des Idées?
OriginalL'auteur meilon | 2012-11-14
Vous devez vous connecter pour publier un commentaire.
OK, trouvé moi-même à nouveau. Le QueryBuilder de Doctrine2 prend en charge un leftJoin (qui est identique à la JOINTURE DROITE si vous changez les deux tables). Pour ceux qui ont besoin de peu de code, voici le SQL ci-dessus énoncé de construire avec le QueryBuilder:
(Les paramètres sont dynamiques, mais pour faciliter la lecture, j'ai utilisé les chiffres de l'instruction SQL d'origine)
OriginalL'auteur meilon