我正在使用 Doctrine,一个 PHP ORM。我创建了一个 Doctrine Query,我需要更多的控制权。所以我开始使用这些->andWhere(...)
方法来添加新的 where 子句。但是我需要基于另一个表进行子查询,如下所示:
$query->andWhere("id in (SELECT id from other_table where value = ?)", $myvar);
以上不起作用。但是 other_table 没有 Doctrine 类,并且教义一直在尝试加载文件other_file.php
。我发现它正在将其解释为 DQL(对吗?)。有什么办法可以告诉 Doctrine 不要将其解释为 DQL,以便我可以使用原始 SQL?
我知道我可以使用Doctrine_RawSql
,但这将涉及重写所有这些查询。如果有中途的房子就好了。