think组合查询AND和OR一起用

如下示例:

$_where 和 $where组合查询

$_where之间用OR

$where之间用AND

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
$condition = I('post.condition');
switch($condition){
    case 1:
        $where['t.digest'] = array('gt',0);
        break;
    case 2:
        $where['t.displayorder'] = 4;
        break;
    case 3:
        $where['t.type'] = 1;
        break;
    default:
        $_where['t.type']       = 1;
        $_where['t.displayorder']= 4;
        $_where['t.digest']     = array('gt',0);
        $_where['_logic']       = 'or';
        $where['_complex']      = $_where;
}
// 板块筛选
if($_POST['fid']){
    $where['t.fid'] = I('post.fid');
}
// 时间筛选
if($_POST['start_time'and $_POST['end_time']){
    $where['t.add_time'] = array(
        array('egt',strtotime(I('post.start_time'))),
        array('elt',strtotime(I('post.end_time')))
    );
}else{
    if($_POST['start_time']){
        $where['t.add_time'] = array('egt',strtotime(I('post.start_time')));
    }else if($_POST['end_time']){
        $where['t.add_time'] = array('elt',strtotime(I('post.end_time')));
    }
}
原文地址:https://www.cnblogs.com/chinalorin/p/5855474.html