1. 程式人生 > >【TP5:資料庫:查詢構造器】鏈式操作

【TP5:資料庫:查詢構造器】鏈式操作

鏈式操作

資料庫提供的鏈式操作方法支援所有的CURD操作

使用示例:

Db::table('think_user')
    ->where('status',1)
    ->order('create_time')
    ->limit(10)
    ->select();

這裡的whereorderlimit方法就被稱之為鏈式操作方法,除了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),其中帶標識的表示支援多次呼叫。*