TP框架中同時使用「or」和「and」

2022-08-24 21:51:09 字數 947 閱讀 1682

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

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

$user =m("user");// 例項化user物件

$where['uid']=$login_uid;

$where['to_uid']=$login_uid;

$where['_logic']='or';

// 把查詢條件傳入查詢方法

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

PhpUnit和Ap框架同時使用

在資質二期專案中,先舉乙個簡單的phpunit例子 class testcase extends phpunit framework testcase 執行後可以正常執行。再舉乙個簡單的可以直接利用ap框架訪問資料庫的例子,3 require once start.php 4 5 6 testpat...

tp框架使用心得

我們知道在對資料庫進行update操作時如果對錶資料沒有進行任何修改時是會報錯的,而當我們將結果返回給使用者時,使用者肯定不知道是因為他沒有進行任何操作導致的報錯,他們最直觀的反映就是系統出錯了,接著就是一片惶恐。所以為了防止上述情況的發生,可以試著在表結構中新增乙個update time字段,每次...

TP框架中S函式使用方法

tp框架中s函式使用步驟 初始化 type為快取方式 prefix為快取字首標示,也就是名字 expire為生存週期 我這裡設定快取方式為xcache,名字ticket,週期7100秒 cache s array type xcache prefix ticket expire 7100 設定該快取...