【TP5:資料庫:查詢構造器】鏈式操作
阿新 • • 發佈:2019-02-16
資料庫提供的鏈式操作方法支援所有的CURD操作
使用示例:
Db::table('think_user')
->where('status',1)
->order('create_time')
->limit(10)
->select();
這裡的where
、order
和limit
方法就被稱之為鏈式操作方法,除了select
方法必須放到最後一個外(因為select方法並不是鏈式操作方法)
鏈式操作的方法呼叫順序沒有先後,下面的程式碼和上面的等效:
Db::table('think_user')
-> order('create_time')
->limit(10)
->where('status',1)
->select();
CURD方法使用連貫操作:
Db::table('think_user')
->where('id',1)
->field('id,name,email')
->find();
Db::table('think_user')
->where('status',1)
->where('id',1)
->delete();
鏈式操作在完成查詢後會自動清空鏈式操作的所有傳值。簡而言之,鏈式操作的結果不會帶入後面的其它查詢。
系統支援的鏈式操作方法有:
連貫操作 | 作用 | 支援的引數型別 |
---|---|---|
where* | 用於AND查詢 | 字串、陣列和物件 |
whereOr* | 用於OR查詢 | 字串、陣列和物件 |
wheretime* | 用於時間日期的快捷查詢 | 字串 |
table | 用於定義要操作的資料表名稱 | 字串和陣列 |
alias | 用於給當前資料表定義別名 | 字串 |
field* | 用於定義要查詢的欄位(支援欄位排除) | 字串和陣列 |
order* | 用於對結果排序 | 字串和陣列 |
limit | 用於限制查詢結果數量 | 字串和數字 |
page | 用於查詢分頁(內部會轉換成limit) | 字串和數字 |
group | 用於對查詢的group支援 | 字串 |
having | 用於對查詢的having支援 | 字串 |
join* | 用於對查詢的join支援 | 字串和陣列 |
union* | 用於對查詢的union支援 | 字串、陣列和物件 |
view* | 用於檢視查詢 | 字串、陣列 |
distinct | 用於查詢的distinct支援 | 布林值 |
lock | 用於資料庫的鎖機制 | 布林值 |
cache | 用於查詢快取 | 支援多個引數 |
relation* | 用於關聯查詢 | 字串 |
with* | 用於關聯預載入 | 字串、陣列 |
bind* | 用於資料繫結操作 | 陣列或多個引數 |
comment | 用於SQL註釋 | 字串 |
force | 用於資料集的強制索引 | 字串 |
master | 用於設定主伺服器讀取資料 | 布林值 |
strict | 用於設定是否嚴格檢測欄位名是否存在 | 布林值 |
sequence | 用於設定Pgsql的自增序列名 | 字串 |
failException | 用於設定沒有查詢到資料是否丟擲異常 | 布林值 |
partition | 用於設定分表資訊 | 陣列 字串 |
所有的連貫操作都返回當前的模型例項物件(this),其中帶標識的表示支援多次呼叫。*