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同時使用的方式
相關文章
相關標籤/搜索