2010-06-04 133 views
7

我有2個表中的MySQL數據庫,使用學說1.2和1.4.4的symfonyDQL查詢失敗

Installedbase和備用IM

Installedbase: 
ib_id 
app_id 
location 

Spare: 
spare_id 
app_id 
amount 

現在我想要加入表格以顯示有多少應用程序在備用中。

例如

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

return $q; 

主義知道有對APP_ID字段的表之間的關係,但我得到的錯誤

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 我無法弄清楚這一個,沒有任何人知道是什麼主義抱怨?

+0

請編輯您的問題,並向我們展示您架構中的相關部分,包括關係。 – richsage 2010-06-04 07:58:05

+0

done http://pastey.net/137237 – iggnition 2010-06-04 08:27:19

回答

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

...在查詢中帶有別名「s」的「備用」不會引用與其相關的父組件。

是否爲此查詢添加一些其他條件而不是從兩個表中返回所有內容。

0

從外觀上看,你還沒有告訴學說這兩張表是相關的。

+0

在我的schema.yml中,我已經在app_id字段中添加了一對多關係,所以它應該知道。 – iggnition 2010-06-04 08:00:29