在Symfony项目中使用Doctrine时,我遇到了需要应用条件然后满足以下两个条件之一的情况(这两个条件恰好都是子查询)。我知道andWhere()和orWhere()函数,但是使用它们生成以下内容时遇到了麻烦: 在哪里cond1 AND(cond2或cond3)
答案 0 :(得分:2)
您可以使用DQL:
执行此操作$models = Doctrine::getTable('ModelName')
->findByDql(
'field_one = ? AND (field_two = ? OR field_three = ?)',
array('cond_1','cond_2', 'cond_3')
);
所以$ models将是一个包含所有找到元素的Doctrine_Collection。
答案 1 :(得分:0)
用于cond2或cond3使用其中
其中cond1和其中cond2或其中cond3
希望这能让你开始
答案 2 :(得分:0)
我没有听说过这个工具,但不应该像
那样... where cond1 andWhere (cond2 orWhere cond3)
工作?或者不管实际的语法是什么。随意告诉我,如果我错了,我会将其删除并在角落里溜走;)