1

我有两个表在 schema.yml 中没有相互定义的关系。但是,表 1 有一个对表 2 主键的外键引用。显然,我没有很好地设计数据库,但现在是缓解的时候了。

我必须在两个表之间进行左连接,并加上一个 where 子句,该子句将检索我想要的选择行。为此,我会:

 Doctrine_Query::create()->select('t.*, l.lid')->from('Taxonomy t')->leftJoin('t.Cid c')      ->leftJoin('c.Lesson l')->where('t.section = ?','Critical reading');

这通常应该这样做,但它不会,因为它返回的是分类表中的所有行,而与 where 条件无关。我在想,这是因为列中没有指定关系吗?那将是荒谬的,因为查询有效,仅在教义上下文中无效。

谢谢

4

1 回答 1

6

在原则上,您只能使用您在架构上定义的关系加入,这是一个已知的限制。您可以使用本机 SQL功能作为解决方法。

于 2012-07-27T07:13:06.590 回答