鏈?zhǔn)讲僮?
數(shù)據(jù)庫提供的鏈?zhǔn)讲僮鞣椒ǎ梢杂行У奶岣邤?shù)據(jù)存取的代碼清晰度和開發(fā)效率,并且支持所有的CURD操作。
使用也比較簡單,假如我們現(xiàn)在要查詢一個(gè)User表的滿足狀態(tài)為1的前10條記錄,并希望按照用戶的創(chuàng)建時(shí)間排序 ,代碼如下:
Db::table('think_user')
->where('status',1)
->order('create_time')
->limit(10)
->select();
這里的where
、order
和limit
方法就被稱之為鏈?zhǔn)讲僮鞣椒?,除了select方法必須放到最后一個(gè)外(因?yàn)閟elect方法并不是鏈?zhǔn)讲僮鞣椒ǎ?,鏈?zhǔn)讲僮鞯姆椒ㄕ{(diào)用順序沒有先后,例如,下面的代碼和上面的等效:
Db::table('think_user')
->order('create_time')
->limit(10)
->where('status',1)
->select();
其實(shí)不僅僅是查詢方法可以使用連貫操作,包括所有的CURD方法都可以使用,例如:
Db::table('think_user')
->where('id',1)
->field('id,name,email')
->find();
Db::table('think_user')
->where('status',1)
->where('id',1)
->delete();
鏈?zhǔn)讲僮髟谕瓿刹樵兒髸詣忧蹇真準(zhǔn)讲僮鞯乃袀髦怠:喍灾?,鏈?zhǔn)讲僮鞯慕Y(jié)果不會帶入后面的其它查詢。
系統(tǒng)支持的鏈?zhǔn)讲僮鞣椒ㄓ校?/p>
連貫操作 | 作用 | 支持的參數(shù)類型 |
---|---|---|
where* | 用于AND查詢 | 字符串、數(shù)組和對象 |
whereOr* | 用于OR查詢 | 字符串、數(shù)組和對象 |
wheretime* | 用于時(shí)間日期的快捷查詢 | 字符串 |
table | 用于定義要操作的數(shù)據(jù)表名稱 | 字符串和數(shù)組 |
alias | 用于給當(dāng)前數(shù)據(jù)表定義別名 | 字符串 |
field* | 用于定義要查詢的字段(支持字段排除) | 字符串和數(shù)組 |
order* | 用于對結(jié)果排序 | 字符串和數(shù)組 |
limit | 用于限制查詢結(jié)果數(shù)量 | 字符串和數(shù)字 |
page | 用于查詢分頁(內(nèi)部會轉(zhuǎn)換成limit) | 字符串和數(shù)字 |
group | 用于對查詢的group支持 | 字符串 |
having | 用于對查詢的having支持 | 字符串 |
join* | 用于對查詢的join支持 | 字符串和數(shù)組 |
union* | 用于對查詢的union支持 | 字符串、數(shù)組和對象 |
view* | 用于視圖查詢 | 字符串、數(shù)組 |
distinct | 用于查詢的distinct支持 | 布爾值 |
lock | 用于數(shù)據(jù)庫的鎖機(jī)制 | 布爾值 |
cache | 用于查詢緩存 | 支持多個(gè)參數(shù) |
relation* | 用于關(guān)聯(lián)查詢 | 字符串 |
with* | 用于關(guān)聯(lián)預(yù)載入 | 字符串、數(shù)組 |
bind* | 用于數(shù)據(jù)綁定操作 | 數(shù)組或多個(gè)參數(shù) |
comment | 用于SQL注釋 | 字符串 |
force | 用于數(shù)據(jù)集的強(qiáng)制索引 | 字符串 |
master | 用于設(shè)置主服務(wù)器讀取數(shù)據(jù) | 布爾值 |
strict | 用于設(shè)置是否嚴(yán)格檢測字段名是否存在 | 布爾值 |
sequence | 用于設(shè)置Pgsql的自增序列名 | 字符串 |
failException | 用于設(shè)置沒有查詢到數(shù)據(jù)是否拋出異常 | 布爾值 |
partition | 用于設(shè)置分表信息 | 數(shù)組 字符串 |
所有的連貫操作都返回當(dāng)前的模型實(shí)例對象(this),其中帶*標(biāo)識的表示支持多次調(diào)用。
文檔最后更新時(shí)間:2018-04-26 09:31:36
未解決你的問題?請到「問答社區(qū)」反饋你遇到的問題