我需要一个先进的过滤器,如eCommerce网站。当我选择一个复选框时,它需要显示来自所选范围的数据。所以我创建了一些复选框来存储值,比如2-4,4-8,8-50等等。
为了设置筛选条件,我编写了以下代码
if(!empty($this->request->data['filter']['workinghrs'])) {
$workinghrsdata = array();
foreach($this->request->data['filter']['workinghrs'] as $v) {
$conditions[]['Gig.workinghrs BETWEEN ? AND ?'] =explode('-', $v);
}
}生成这个sql。
Gig.workinghrs介于2和4之间,workinghrs在4和8之间
但是我想把OR操作符设为AND的位置。所以查询应该是,
Gig.workinghrs介于2和4之间或Gig.workinghrs在4和8之间
如何解决这个问题?
发布于 2015-07-29 08:56:40
将OR索引添加到条件数组-
$conditions['OR'][]['Gig.workinghrs BETWEEN ? AND ?'] =explode('-', $v);https://stackoverflow.com/questions/31695518
复制相似问题