1. 程式人生 > >資料操作(查詢構建器)

資料操作(查詢構建器)

# 條件篩選:

where('filed', '>=<', 'value')// 單個條件

where(['filed_1' => 'value', 'filed_2' => 'value'])// 多個條件

orWhere('filed', 'value')

whereBetween('filed', [0, 100])// 區間

whereNotBetween(引數同上)

whereIn('filed', [1,2,3])// 指定集合範圍

whereNotIn(引數同上)

whereNull('filed')// NULL

# 指定欄位:

select('filed_1', "filed_2)// 指定要獲取的欄位,也可以使用 addSelect('filed') 新增要獲取的欄位

# 分組排序:

groupBy('filed')// 按欄位分組

orderBy('field')// 按欄位排序,一個以上可以再加一個 ->orderBy('...')

having('filed', '>=<', 'value')

haveingRow('SUM("price") > 200')

# 連線附加:

join('table_2', 'table1_欄位', '比較條件 >=<', 'table2_欄位')

leftJoin(引數同上...)

join('contacts', function ($join) {
$join->on('users.id', '=', 'contacts.user_id')->orOn(...);
})

union(DB::table('xxx')-> ... );// 附加查詢

distinct()// 排除重複

skip(10)// 跳過

take(20)// 條數

sharedLock()// 共享鎖(可讀不可改)

lockForUpdate()// 避免其它共享鎖修改

# 操作型別 (增刪改查):

get()// 獲取符合條件的所有

insert(['filed' => 'value'])// 插入資料

update(['filed' => 'value'])// 更新資料

delete()// 刪除

truncate()// 清空表

increment('filed', 5)// 自增,第二個引數可省略

decrement('filed',5)// 自減,第二個引數可省略

# 資料返回格式 (預設為物件)

toArray()// 轉為陣列

toJson()// 轉為Json