Usiłuję zbudować kwerendę z konstruktora zapytań doktryna, która łączy non powiązanej tabeli tak:Symfony 2: INNER JOIN na brak powiązanej tabeli z konstruktora zapytań doktryna
$query = $this->createQueryBuilder('gpr')
->select('gpr, p')
->innerJoin('TPost', 'p')
->where('gpr.contentId = p.contentId')
Ale tego nie robi praca. Wciąż pojawia się błąd:
Error: Identification Variable TPost used in join path expression but was not defined before.
szukałem tego komunikatu o błędzie i wszyscy odpowiadali użyć aliasu stół + atrybutów jak p.someAttribute. Ale tabela, do której chcę się przyłączyć, nie jest powiązana z tabelą, od której zaczynam mój wybór.
jako normalny zapytania mysql chciałbym napisać to tak:
SELECT * FROM t_group_publication_rel gpr
INNER JOIN t_post p
WHERE gpr.content_id = p.content_id
pomysłów, co robię źle?
Możemy użyć DQL wykonać połączenie z niepowiązanymi obiektami? Nie wiem. Jeśli to możliwe, to jest interesujące =). – sensorario
Dlaczego po prostu nie * zbudujesz * relacji między tymi dwoma, jeśli chcesz do nich dołączyć? –
W tym przypadku relacja nie wystarczy. Potrzebowałbym relacji z trzema różnymi tabelami, a każdy rekord mógł ustawić tylko odniesienie do jednego z tych 3. –