TP框架中同时使用“or”和“and”

今天在tp中遇到一个问题,可能这并不算难的问题,可是我仍是分享一下ui

如下是tp手册里面查询or的方式spa

  1. $User = M("User"); // 实例化User对象
  2. $where['uid'] = $login_uid;
  3. $where['to_uid'] = $login_uid;
  4. $where['_logic'] = 'OR';
  5. // 把查询条件传入查询方法
  6. $User->where($where)->select();

 

这个方式能够很顺利的将本身所须要的条件查出来code

如今在下面在加一个条件
对象

$where['is_read'] = ['eq',$is_read];
$where['status'] = ['eq',1];

这两个条件至关是and

这两个条件加上上面的“or”条件一块儿查 相信不少人都会以为这样写就能够查出本身想要的效果了
刚开始我也是这么以为,可是查出来的效果并非正确的,由于条件多了几个


最后我找到了这一种方式解决这个问题
$where['uid|to_uid'] = $login_uid;
$where['is_read'] = ['eq',$is_read];
$where['status'] = ['eq',1];原生的语句就是:SELECT * FROM 代表 WHERE ( 字段 = 条件 OR 字段 = 条件 ) AND 字段 = 条件 以上就是or和and同时使用的方式
相关文章
相关标签/搜索