Ich versuche, eine Abfrage mit der Lehre Query Builder zu bauen, wie dies eine nicht verwandte Tabelle verbindet:Symfony 2: INNER JOIN auf nicht verwandte Tabelle mit Lehre Query Builder
$query = $this->createQueryBuilder('gpr')
->select('gpr, p')
->innerJoin('TPost', 'p')
->where('gpr.contentId = p.contentId')
Aber das tut nicht Arbeit. Ich bekomme immer noch einen Fehler:
Error: Identification Variable TPost used in join path expression but was not defined before.
ich für diese Fehlermeldung durchsucht und alle beantwortet die Tabelle alias verwenden + wie p.someAttribute zuzuschreiben. Aber die Tabelle, der ich mich anschließen möchte, ist nicht in der Tabelle verwandt, aus der ich meine Auswahl starte.
Als normale mysql query ich es so schreiben würde:
SELECT * FROM t_group_publication_rel gpr
INNER JOIN t_post p
WHERE gpr.content_id = p.content_id
Irgendwelche Ideen, was ich falsch mache?
Wir können DQL verwenden ausführen ein Join mit nicht verwandten Objekten? Ich weiß es nicht. Wenn möglich, ist es interessant =). – sensorario
Warum baust du nur eine Beziehung zwischen diesen beiden auf, wenn du ihnen beitreten willst? –
In diesem Fall wäre eine Beziehung nicht genug. Ich würde Beziehungen zu 3 verschiedenen Tabellen benötigen, und jeder Datensatz konnte nur einen Verweis auf 1 von diesen 3 setzen. –