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


今天在tp中遇到一個問題,可能這並不算難的問題,但是我還是分享一下

以下是tp手冊里面查詢or的方式

  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();

 

這個方式可以很順利的將自己所需要的條件查出來

現在在下面在加一個條件

$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同時使用的方式
 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM