在 Symfony 项目中使用 Doctrine 时,我遇到了需要应用一个条件然后是以下两个条件之一的情况(这两个条件都恰好是子查询)。我知道 andWhere() 和 orWhere() 函数,但是在使用这些函数来生成以下内容时遇到了麻烦: WHERE cond1 AND ( cond2 OR cond3)
问问题
1698 次
3 回答
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。
于 2009-11-10T20:13:13.510 回答
0
对于 cond2 OR cond3 使用其中
其中 cond1 和其中 cond2 或其中 cond3
希望这能让你开始
于 2009-11-02T04:03:28.250 回答
0
我没听说过这个工具,但不应该像
... where cond1 andWhere (cond2 orWhere cond3)
工作?或者无论实际语法是什么。如果我错了,请随时告诉我,我会删除它并偷偷溜走;)
于 2009-11-02T05:57:56.200 回答