cakephp提前使用过滤器

时间:2015-07-29 08:45:17

标签: php mysql cakephp between

我需要一个像电子商务网站这样的高级过滤器。当我选中一个复选框时,它需要显示所选范围内的数据。所以我创建了一些复选框,存储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。

Gigworkinghrs BETWEEN 2和4以及Gigworkinghrs在4和8之间

但是我想将OR运算符设置为AND的位置。所以查询应该是,

Gigworkinghrs BETWEEN 2和4或Gigworkinghrs在4和8之间

如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

OR索引添加到条件数组 -

$conditions['OR'][]['Gig.workinghrs BETWEEN ? AND ?'] =explode('-', $v);