加載中...

where


where方法的用法是ThinkPHP查詢語言的精髓,也是ThinkPHP ORM的重要組成部分和亮點所在,可以完成包括普通查詢、表達式查詢、快捷查詢、區間查詢、組合查詢在內的查詢操作。where方法的參數支持字符串和數組,雖然也可以使用對象但并不建議。

表達式查詢

新版的表達式查詢采用全新的方式,查詢表達式的使用格式:

Db::table('think_user')
    ->where('id','>',1)
    ->where('name','thinkphp')
    ->select(); 

更多的表達式查詢語法,可以參考查詢語法部分。

數組條件

可以通過數組方式批量設置查詢條件。

普通查詢

最簡單的數組查詢方式如下:

$map['name'] = 'thinkphp';
$map['status'] = 1;
// 把查詢條件傳入查詢方法
Db::table('think_user')->where($map)->select(); 

// 助手函數
db('user')->where($map)->select();

最后生成的SQL語句是

SELECT * FROM think_user WHERE `name`='thinkphp' AND status=1

表達式查詢

可以在數組條件中使用查詢表達式,例如:

$map['id']  = ['>',1];
$map['mail']  = ['like','%[email protected]%'];
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'])->select();

還沒有評論.
股票配资平台l选一直牛