PHPフレームワーク Laravel入門 第2版 6章 メモ
Chapter 6 Eloquent ORM
6-1 Eloquentの基本
- ORM概説
- モデル作成: php artisan make:model Person
- テーブル名は複数形、モデルは単数形
- コントローラー、Blade追加
- Persion::all()、モデルクラス(Person) 拡張、Person::find()
6-2 検索とスコープ
- Persion::where()
- ローカルスコープ
- モデル内にメソッドを用意
- メソッド名を scope から始める
- メソッドチェインで scope を重ねられる
- グローバルスコープ
- クロージャーで定義: モデルクラス内、boot static メソッド内で、addGlobaScope に
- Scope クラスによる定義
6-3 モデルの保存・更新・削除
- モデルによるCRUDの実装
- fill(), save(), delete()
6-4 モデルのリレーション
- Eloquentはリレーションを実装できる
- 結合の指定: hasOne('App\(Model)'), hasMany('App\(Model)'), belongsTo('App\(Model)')
- 関連レコードがあるレコード取得: (Model)::has('(relation)')->get()
- 関連レコードがないレコード取得: (Model)::doesntHave('(relation)')->get()
- Eager loading: (Model)::with('(relation)')->get()