在没有指定关系的表上加入Doctrine中的查询

use*_*069 1 doctrine symfony1 doctrine-query doctrine-1.2

我有两个表在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');
Run Code Online (Sandbox Code Playgroud)

这通常应该这样做,但它不会,因为它返回的是分类表中的所有行,而不管where条件.我在想,这是因为列中没有指定关系吗?这将是荒谬的,因为查询工作,只有在它没有的学说上下文.

谢谢

Mae*_*lyn 6

在学说中,您只能使用您在模式中定义的关系加入,这是一个已知的限制.您可以使用Native SQL功能作为解决方法.