DQL查询失败

时间:2010-06-04 07:53:35

标签: mysql join symfony1 doctrine dql

我在MySQL数据库中有2个表,我使用的是doctrine 1.2和symfony 1.4.4

Installedbase和Spare

Installedbase:
ib_id
app_id
location

Spare:
spare_id
app_id
amount

现在我想加入to表来显示备用的应用程序数量。

e.g。

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

return $q;

Doctrine知道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 我想不出这个,有人知道什么是教条抱怨吗?

2 个答案:

答案 0 :(得分:4)

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

...查询中带有别名“s”的“备用”不会引用与其相关的父组件。

请为此查询添加一些其他条件,以便不返回两个表中的所有内容。

答案 1 :(得分:0)

从它的外观来看,你没有告诉Doctrine这两个表是相关的。