Eloquent ORM 快速指南
文章推薦指數: 80 %
Eloquent ORM 快速指南![](https://i.imgur.com/XdzoHHz.png) ## DB Facade vs Eloquent 當要進行複雜的原生SQL語. Published LinkedwithGitHub Like Bookmark Subscribe --- tags:laravel --- #EloquentORM快速指南 ![](https://i.imgur.com/XdzoHHz.png) ##DBFacadevsEloquent 當要進行複雜的原生SQL語法查詢才建議你使用DBFacade,否則一般狀況下還是使用Eloquent來進行查詢為好 DBFacade查詢完得到的會是陣列,而Eloquent查詢完得到的則是Eloquent物件 如果需要把資料陣列轉換成Eloquent是做得到的,透過QueryBuilder的hydrate(),請看以下範例: ``` $userData=DB::select('SELECT*FROMusersWHEREid>?',[$userId]); $userModels=User::hydrate($userData); ``` ##ActiveRecordPattern 任何技術宣稱有實作ActiveRecord,須具備以下三個特性 *提供與資料表互動的能力 *可代表某一筆資料列 *可自我進行持久保存 ##Eloquent *有實作ActiveRecord,是一種ORM >ORM為ObjectRelationshipManagement,即用物件關聯的方式來管理資料庫 *透過定義模型的方式,讓你輕鬆管理資料庫 *一般每一個模型都指向一個表格 ##命名慣例 ###資料表格名稱 *包含多筆資料 *首字母小寫 *複數型 *Ex:users ###模型名稱 *代表一筆資料 *首字母大寫 *單數型 *Ex:User >不按照命名慣例就要做更多的設定做為代價 ##生成模型 生成Model類別 phpartisanmake:modelTask 生成Model類別,連帶生成對應的Migration檔案 phpartisanmake:modelTask-m ##Model進階屬性 ####指定該模型要對應的表格名稱,如果沒按照命名慣例才需要提供 protected$table='新表格名稱'; ####將自定義的timestamps欄位自動轉換成Carbon型態 protected$dates=['sell_at']; ####指定表格的自定義主鍵欄位名稱 protected$primaryKey='user_id'; ####關閉主鍵的自增功能 protected$incrmenting=false; ####呈上一個,如果主鍵不是int,就需要指定類型,比如字串 protected$keyType='string'; ####關閉created_at和updated_at的自動維護 protected$timestamps=false; ####設定date型態的欄位被存進資料庫時的格式 protected$dateFormat='U'; ####修改預設的時間戳記欄位名稱 constCREATED_AT='creation_date'; constUPDATED_AT='last_update'; ####此模型需要連到其他的資料庫 protected$connection='connection-name'; ##測試範例 ``` //routes/web.php Route::get('/tasks','SiteController@showTasks'); //App\Http\Controllers\SiteController publicfunctionshowTasks(){ returnresponse()->json(Task::get())->setEncodingOptions(JSON_UNESCAPED_UNICODE); } ``` × Signin Email Password Forgotpassword or Byclickingbelow,youagreetoourtermsofservice. SigninviaFacebook SigninviaTwitter SigninviaGitHub SigninviaDropbox SigninviaGoogle NewtoHackMD?Signup
延伸文章資訊
- 1eloquent是什麼意思 - 海词词典
eloquent的用法和樣例:. 例句. 用作形容詞 (adj.) He addressed the audience in an eloquent speech. 他向 ...
- 2ELOQUENT在劍橋英語詞典中的解釋及翻譯
eloquent的意思、解釋及翻譯:1. giving a clear, strong message: 2. giving a clear, strong message: 3. using ...
- 3Eloquent ORM - Laravel - 為網頁藝術家創造的PHP 框架
所有的Eloquent 模型都繼承 Illuminate\Database\Eloquent\Model 。 定義一個Eloquent 模型. class User extends Model ...
- 4Eloquent: 入門- Laravel - 為網頁藝術家創造的PHP 框架
所有的Eloquent 模型都繼承 Illuminate\Database\Eloquent\Model 類別。 建立模型實例的最簡單的方法是使用 make:model Artisan 指令: ...
- 5eloquent - Yahoo奇摩字典搜尋結果
雄辯的,有說服力的;富於表現的. Dr.eye 譯典通 · eloquent · 查看更多. IPA[ˈeləkwənt]. 美式. 英式. adj. 雄辯的;傳神達意的. 牛津中文字典. el...