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

文檔
目錄

深色
模式

切換
寬度