2010-06-04 17 views
7

Ho 2 tabelle in un DB MySQL, im utilizzando dottrina 1.2 e symfony 1.4.4DQL query ha esito negativo

Installedbase e pezzi di

Installedbase: 
ib_id 
app_id 
location 

e

Spare: 
spare_id 
app_id 
amount 

Ora ho vuoi unirti alle tabelle per mostrare quante dell'app sono nel ricambio.

ad es.

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

return $q; 

Dottrina sa che c'è una relazione tra le tabelle sul campo APP_ID ma ho l'errore

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 Non riesco a capire questo fuori, Qualcuno sa che cosa la dottrina è lamentarsi di?

+0

Modifica la domanda e mostraci le sezioni pertinenti dal tuo schema, incluse le relazioni. – richsage

+0

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

risposta

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

... "Spare" con un alias di "s" nella query non fa riferimento al componente principale a cui è correlato.

Aggiungere ulteriori criteri a questa query per non restituire tutto da entrambe le tabelle.

0

A quanto sembra, non hai detto a Doctrine che quelle 2 tabelle sono correlate.

+0

Nel mio schema.yml ho aggiunto una relazione uno a molti su entrambi i campi app_id, quindi dovrebbe sapere. – iggnition

Problemi correlati