where

where方法的用法是ThinkPHP查詢語(yǔ)言的精髓,也是ThinkPHP ORM的重要組成部分和亮點(diǎn)所在,可以完成包括普通查詢、表達(dá)式查詢、快捷查詢、區(qū)間查詢、組合查詢?cè)趦?nèi)的查詢操作。where方法的參數(shù)支持字符串和數(shù)組,雖然也可以使用對(duì)象但并不建議。

表達(dá)式查詢

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

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

更多的表達(dá)式查詢語(yǔ)法,可以參考查詢語(yǔ)法部分。

數(shù)組條件

可以通過數(shù)組方式批量設(shè)置查詢條件。

普通查詢

最簡(jiǎn)單的數(shù)組查詢方式如下:

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

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

最后生成的SQL語(yǔ)句是

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

表達(dá)式查詢

可以在數(shù)組條件中使用查詢表達(dá)式,例如:

$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語(yǔ)句是

SELECT * FROM think_user WHERE type=1 AND status=1

使用字符串條件的時(shí)候,建議配合預(yù)處理機(jī)制,確保更加安全,例如:

Db::table('think_user')->where("id=:id and username=:name")->bind(['id'=>[1,\PDO::PARAM_INT],'name'=>'thinkphp'])->
文檔最后更新時(shí)間:2018-04-26 09:34:53

文檔
目錄

深色
模式

切換
寬度