Symfony1 条令:多重(何处或何处)查询?

Symfony1 条令:多重(何处或何处)查询?,symfony1,doctrine,where-clause,dql,Symfony1,Doctrine,Where Clause,Dql,我很难用条令来构造一个相当简单的查询 我有两个数组($countries,$cities),我需要检查数据库记录值是否匹配其中任何一个。我要找的东西是: ->whereIn('country', 'city', $countries, $cities) 。。。“国家”是$countries的WHERE IN,而“城市”是$city的WHERE IN 我可以将两者分开,但所需的查询有许多其他条件,因此这是不可能的。我所追求的结果SQL是: SELECT ... WHERE ... AN

我很难用条令来构造一个相当简单的查询

我有两个数组($countries,$cities),我需要检查数据库记录值是否匹配其中任何一个。我要找的东西是:

->whereIn('country', 'city', $countries, $cities)
。。。“国家”是$countries的WHERE IN,而“城市”是$city的WHERE IN

我可以将两者分开,但所需的查询有许多其他条件,因此这是不可能的。我所追求的结果SQL是:

SELECT ... 
WHERE ... 
AND ...
AND ... 
AND ('country' IN (1,2,3) OR 'city' IN (7,8,9))
AND ... 
AND ...;
因此,人们也可以认为它只是一个括号内的问题。有人知道DQL原则是否可行吗?我看了文档,但找不到任何方向


谢谢

经过一个小时的胡说八道的实验,下面是让它工作的语法

$q->andWhere('country IN ? OR city IN ?', array(array(1, 2, 3), array(7, 8, 9)));

为什么不使用类似的工具呢

$countryIds=[1,2,3];
$cityIds=[7,8,9];

$q->whereIn('country',$countryIds)->andWhereIn('city',$cityIds);
另外,根据上下文将它们链接在一起(大多数条令方法返回$this)


请参见

注意,这与原则2不符!这是相关的,因为这个问题被标记为
doctrine
,而不是
doctrine2