Symfony1 在没有指定关系的表上的原则连接查询

Symfony1 在没有指定关系的表上的原则连接查询,symfony1,doctrine,doctrine-1.2,doctrine-query,Symfony1,Doctrine,Doctrine 1.2,Doctrine Query,我有两个表,它们在schema.yml中彼此没有定义关系。 但是,表1有一个外键引用表2的主键。很明显,我没有很好地设计数据库,这是一个错误,但现在是缓解问题的时候了 我必须在两个表之间进行左连接,并使用where子句检索所需的select行。为此,我要: Doctrine_Query::create()->select('t.*, l.lid')->from('Taxonomy t')->leftJoin('t.Cid c') ->leftJoin('c.L

我有两个表,它们在schema.yml中彼此没有定义关系。 但是,表1有一个外键引用表2的主键。很明显,我没有很好地设计数据库,这是一个错误,但现在是缓解问题的时候了

我必须在两个表之间进行左连接,并使用where子句检索所需的select行。为此,我要:

 Doctrine_Query::create()->select('t.*, l.lid')->from('Taxonomy t')->leftJoin('t.Cid c')      ->leftJoin('c.Lesson l')->where('t.section = ?','Critical reading');
这通常应该做到,但它并没有做到,因为它返回的是分类表中的所有行,而不管where条件如何。我在想,这是因为列中没有指定关系吗?这将是荒谬的,因为这个查询是有效的,只是在一个理论背景下它不起作用


感谢

在条令中,您只能使用您在模式中定义的关系加入,这是一个已知的限制。您可以使用该功能作为解决方法。

在原则中,您只能使用您在模式中定义的关系进行连接,这是一个已知的限制。您可以将该功能用作解决方法