ThinkPHP5.1關於查詢器查詢條件為[NOT] NULL時的寫法


thinkphp5.1官方文檔已經說明了關於[NOT] NULL的表達式用法,使用如下

->where('字段名','null')//查詢為NULL時的條件
->where('字段名','not null')//查詢不是NULL時的條件

這種用法在單獨語句使用時是沒有任何問題的,官方還提供了快捷方法,用以簡化查詢。

方法 作用
whereNull 查詢字段是否為Null
whereNotNull 查詢字段是否不為Null

但是,但條件是使用數組表達式封裝條件時,以上寫法將會 報錯 。查詢表達式的使用格式:

where('字段名','表達式','查詢條件');

例如,封裝數組條件:

$map = [];
$map[] = ['name','like','think'];
$map[] = ['status','=',1];

以上寫法要追加查詢條件為[NOT] NULL的情況下,按照最上面的NULL表達式寫法是無法正確組裝數組條件的。正確寫法如下:

$map[] = ['字段名','null',''];//查詢為NULL時的條件
$map[] = ['字段名','not null',''];//查詢不是NULL時的條件
或
$where['name'] = ['null', ''];
$where['name'] = ['not null', ''];

以上查詢[NOT] NULL的的數組封裝條件將被正確執行。

參考:https://blog.csdn.net/weixin_43930641/article/details/105238748


免責聲明!

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



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