where方法的用法是ThinkPHP查詢語言的精髓,也是ThinkPHP ORM的重要組成部分和亮點所在,可以完成包括普通查詢、表達式查詢、快捷查詢、區(qū)間查詢、組合查詢在內的查詢操作。where方法的參數支持字符串和數組,雖然也可以使用對象但并不建議。
SELECT * FROM think_user WHERE type=1 AND status=1
數組條件普通查詢$User = M("User"); // 實例化User對象$map['name'] = 'thinkphp';$map['status'] = 1; // 把查詢條件傳入查詢方法$User->where($map)->select();SELECT * FROM think_user WHERE `name`='thinkphp' AND status=1
表達式查詢$map['字段1'] = array('表達式','查詢條件1');$map['字段2'] = array('表達式','查詢條件2');$Model->where($map)->select(); // 也支持$map['id'] = array('eq',100);表示的查詢條件就是 id = 100
$map['id'] = array('neq',100);表示的查詢條件就是 id <> 100
$map['id'] = array('gt',100);表示的查詢條件就是 id > 100
$map['id'] = array('egt',100);表示的查詢條件就是 id >= 100
$map['id'] = array('lt',100);表示的查詢條件就是 id < 100
$map['id'] = array('elt',100);表示的查詢條件就是 id <= 100
[NOT] LIKE: 同sql的LIKE
$map['name'] = array('like','thinkphp%');查詢條件就變成 name like 'thinkphp%'
$map['a'] =array('like',array('%thinkphp%','%tp'),'OR');$map['b'] =array('notlike',array('%thinkphp%','%tp'),'AND');生成的查詢條件就是:(a like '%thinkphp%' OR a like '%tp') AND (b not like '%thinkphp%' AND b not like '%tp')
[NOT] BETWEEN :同sql的[not] between, 查詢條件支持字符串或者數組,例如:
$map['id'] = array('between','1,8');$map['id'] = array('between',array('1','8'));[NOT] IN: 同sql的[not] in ,查詢條件支持字符串或者數組,例如:
$map['id'] = array('not in','1,5,8');$map['id'] = array('not in',array('1','5','8'));EXP:表達式,支持更復雜的查詢情況
$map['id'] = array('exp',' IN (1,3,8) ');等同于
$map['id'] = array('in','1,3,8');組合查詢$User = M("User"); // 實例化User對象$map['id'] = array('neq',1);$map['name'] = 'ok';$map['_string'] = 'status=1 AND score>10';$User->where($map)->select();最后得到的查詢條件就成了:( `id` != 1 ) AND ( `name` = 'ok' ) AND ( status=1 AND score>10 )
復合查詢
$where['name'] = array('like', '%thinkphp%');$where['title'] = array('like','%thinkphp%');$where['_logic'] = 'or';$map['_complex'] = $where;$map['id'] = array('gt',1);等同于
$where['id'] = array('gt',1);$where['_string'] = ' (name like "%thinkphp%") OR ( title like "%thinkphp") ';查詢條件是 ( id > 1) AND ( ( name like '%thinkphp%') OR ( title like '%thinkphp%') )
等等這些都是常用的where查詢方法。
標題名稱:thinkphp重點方法詳解之where()方法
標題URL:http://jinyejixie.com/article28/cjoejp.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、小程序開發(fā)、網站導航、網站建設、微信公眾號、手機網站建設
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)