where
where方法的用法是ThinkPHP查詢語言的精髓,也是ThinkPHP ORM的重要組成部分和亮點所在,可以完成包括普通查詢、表達式查詢、快捷查詢、區(qū)間查詢、組合查詢在內(nèi)的查詢操作。where方法的參數(shù)支持字符串和數(shù)組,雖然也可以使用對象但并不建議。
表達式查詢
新版的表達式查詢采用全新的方式,查詢表達式的使用格式:
Db::table('think_user')
->where('id','>',1)
->where('name','thinkphp')
->select();
更多的表達式查詢語法,可以參考查詢語法部分。
數(shù)組條件
可以通過數(shù)組方式批量設置查詢條件。
普通查詢
最簡單的數(shù)組查詢方式如下:
$map['name'] = 'thinkphp';
$map['status'] = 1;
// 把查詢條件傳入查詢方法
Db::table('think_user')->where($map)->select();
// 助手函數(shù)
db('user')->where($map)->select();
最后生成的SQL語句是
SELECT * FROM think_user WHERE `name`='thinkphp' AND status=1
表達式查詢
可以在數(shù)組條件中使用查詢表達式,例如:
$map['id'] = ['>',1];
$map['mail'] = ['like','%thinkphp@qq.com%'];
Db::table('think_user')->where($map)->select();
字符串條件
使用字符串條件直接查詢和操作,例如:
Db::table('think_user')->where('type=1 AND status=1')->select();
最后生成的SQL語句是
SELECT * FROM think_user WHERE type=1 AND status=1
使用字符串條件的時候,建議配合預處理機制,確保更加安全,例如:
Db::table('think_user')->where("id=:id and username=:name")->bind(['id'=>[1,\PDO::PARAM_INT],'name'=>'thinkphp'])->
文檔最后更新時間:2018-04-26 09:34:53
table →
未解決你的問題?請到「問答社區(qū)」反饋你遇到的問題