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()