標籤:thinkphp where
sql:SELECT * FROM table WHERE name like ‘%關鍵字1%‘ OR name like ‘%關鍵字2%‘ OR name like ‘%關鍵字3%‘
where在Thinkphp 對應的寫法是怎樣的?
手冊:
運算式 含義
EQ 等於(=)
NEQ 不等於(<>)
GT 大於(>)
EGT 大於等於(>=)
LT 小於(<)
ELT 小於等於(<=)
LIKE 模糊查詢
[NOT] BETWEEN (不在)區間查詢
[NOT] IN (不在)IN 查詢
EXP 運算式查詢,支援SQL文法
$map[‘欄位名‘] = array(‘運算式‘,‘查詢條件‘);
$map寫法:
$map[‘a‘] =array(‘like‘,array(‘%thinkphp%‘,‘%tp‘),‘OR‘);
$map[‘b‘] =array(‘notlike‘,array(‘%thinkphp%‘,‘%tp‘),‘AND‘);
所以上例為:
$map[‘name‘]=array(‘like‘,array(‘%關鍵字1%‘,‘%關鍵字2,‘關鍵字3‘),‘OR‘);
$list = Db(‘table‘)->where($map)->select();
我試了下,不行。會不會是tp3.2的呢?
而下面這種寫法就可以。
$list = Db::name(‘User‘)->where(‘username‘,[‘like‘,‘%關鍵字1%‘],[‘like‘,‘關鍵字2‘],‘or‘)->select();
你也可以看看下面這篇:
THINKPHP實現查詢兩個WHERE條件數組間OR查詢
https://yq.aliyun.com/ziliao/29407
---------- 招募未來大神 -----------------------
如果您有利他之心,樂於協助他人,樂於分享
如果您遇到php問題,百度且問了其他群之後仍沒得到解答
歡迎加入,PHP技術問答群,QQ群:292626152
教學相長!協助他人,自己也會得到提升!
為了珍惜每個人的寶貴時間,請大家不要閑聊!
願我們互相協助,共同進步!
thinkphp5中的where寫法