使用 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);