Laravel ORM 資料model操作
1.ORM操作需要建立對應的model
class User extends Eloquent
2.有兩種方式使用資料操作物件
a. 使用new關鍵字建立物件後執行物件的方法
b. 直接呼叫static方法(實際併發靜態方法,而是fascade生成的)
3.常用資料操作
a. User:
b. User::all() 查詢所有資料
c. User::find(1)->delete() 刪除單條資料
d. User::destory(array(1,2,3)) 刪除單條或多條資料
e. User:
f. User::first() 取第一條資料
g. Album::where('artist', '=', 'Matt Nathanson') ->update(array('artist' => 'Dayle Rees')); 指定查詢條件,更新資料
h. User:
i. Album::where('artist', '=', 'Something Corporate')->get(array('id','title')); 配合查詢條件獲取多條資料
j. Album::pluck('artist'); 返回表中該欄位的第一條記錄
k. Album::lists('artist'); 返回一列資料
l. Album::where('artist', '=', 'Something Corporate')->toSql(); 獲取查詢的sql語句,僅用於條件,不能使用者帶get()之類的帶查詢結果的查詢中
注:直接使用return 查詢結果為json格式的資料
這裡使用的User為model名稱
條件查詢:
1. 最普通的條件查詢 User::where('欄位名','查詢字元','限制條件') 例:Album::where('title', 'LIKE', '...%')
2. 多條件查詢,使用多個where Album::where('title', 'LIKE', '...%')->where('artist', '=', 'Say Anything')->get();
3. 或查詢操作使用orWhere(),使用方法通where
4. 直接用sql語句寫查詢條件 Album::whereRaw('artist = ? and title LIKE ?', array('Say Anything', '...%'))
5. 其他查詢方法
whereIn(),whereBetween(),whereNested()子查詢,orWhereNested(),whereNotIn(),whereNull(),whereNotNull()
6. 快捷方式 whereUsername('king') 查詢'username' = 'king'的資料,預設系統無此方法,username為欄位名稱
結果排序:
使用order關鍵字:
Album::where('artist', '=', 'Matt Nathanson')->orderBy('year')->get(); 預設asc
orderBy('year', 'desc')
限制結果數量
take()方法
Album::take(2)->get(); //select * from `albums` limit 2
指定偏移
Album::take(2)->skip(2)->get(); //select * from `albums` limit 2 offset 2