2010-06-04 20 views
7

Mam 2 tabele w MySQL DB, im przy doktrynę 1.2 i symfony 1.4.4DQL Query nie

Installedbase i części

Installedbase: 
ib_id 
app_id 
location 

i

Spare: 
spare_id 
app_id 
amount 

Teraz ja chcesz dołączyć do tabel, aby pokazać, ile aplikacji znajduje się w zapasie.

np.

$q = self::createQuery("l") 
->select('i.*, s.*') 
->from('InstalledBase i, Spare s') 
->execute(); 

return $q; 

Doctrine wie istnieje związek między stolikami na polu APP_ID ale pojawia się błąd

500 | Internal Server Error | Doctrine_Hydrator_Exception 
"Spare" with an alias of "s" in your query does not reference the parent component it is related to. 

yaml: http://pastey.net/137237 nie mogę zrozumieć ten jeden, czy ktoś wie co doktryna jest narzekać na?

+0

Edytuj pytanie i wyświetl nam odpowiednie sekcje ze swojego schematu, w tym relacje. – richsage

+0

done http://pastey.net/137237 – iggnition

Odpowiedz

4
->from('InstalledBase i, i.Spare s') 

... "Spare" z aliasem "s" w zapytaniu nie odnosi się do komponentu nadrzędnego, z którym jest powiązany.

Dodać dodatkowe kryteria do tego zapytania, aby nie zwracać wszystkiego z obu tabel.

0

Wygląda na to, że nie powiedziałeś Doctrine, że te 2 tabele są powiązane.

+0

W moim schema.yml dodałem jeden do wielu relacji w obu polach app_id, więc powinien wiedzieć. – iggnition