使用 between 的 cakephp 高级过滤器
cakephp advance filter using between
我需要像电子商务网站这样的高级过滤器。当我 select 一个复选框时,它需要显示 select 范围内的数据。所以我创建了一些复选框来存储 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 之间以及 Gig
.workinghrs
4 和 8 之间
但是我想将OR运算符设置为AND的位置。所以查询应该是这样的,
Gig
.workinghrs
介于 2 和 4 之间或 Gig
.workinghrs
介于 4 和 8
如何解决?
向条件数组添加 OR
索引 -
$conditions['OR'][]['Gig.workinghrs BETWEEN ? AND ?'] =explode('-', $v);
我需要像电子商务网站这样的高级过滤器。当我 select 一个复选框时,它需要显示 select 范围内的数据。所以我创建了一些复选框来存储 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 之间以及 Gig
.workinghrs
4 和 8 之间
但是我想将OR运算符设置为AND的位置。所以查询应该是这样的,
Gig
.workinghrs
介于 2 和 4 之间或 Gig
.workinghrs
介于 4 和 8
如何解决?
向条件数组添加 OR
索引 -
$conditions['OR'][]['Gig.workinghrs BETWEEN ? AND ?'] =explode('-', $v);