1. 程式人生 > >Laravel ORM 資料model操作

Laravel ORM 資料model操作

1.ORM操作需要建立對應的model

        class User extends Eloquent

 

2.有兩種方式使用資料操作物件

           a. 使用new關鍵字建立物件後執行物件的方法

           b. 直接呼叫static方法(實際併發靜態方法,而是fascade生成的)

 

3.常用資料操作

       a.  User:

:find(1)    查詢單條資料
       b.  User::all()        查詢所有資料
       c.  User::find(1)->delete()    刪除單條資料
       d.  User::destory(array(1,2,3))    刪除單條或多條資料
       e.  User:
:save()        儲存資料
       f.  User::first()        取第一條資料
       g.  Album::where('artist''=''Matt Nathanson'->update(array('artist' => 'Dayle Rees'));    指定查詢條件,更新資料
       h.  User:
:truncate()    清空資料表,危險操作
       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