【Laravel】withによるEagerローディング
データベースへのアクセス回数を軽減させるために(←N+1問題)
withメソッドを利用してデータを取得する方法があります。
withでデータを取得する
モデル :: with(リレーション名)->get();
このwithを使うとレコード取得方法が変わります。
1.モデルを取得
2.モデルのIDの値をまとめ、それらのIDのレコードを取得。
たった2回のデータベースアクセスですべてを取得できます。
このwithのような取得方法を
Eagerローディングと呼びます。
クラウドなどを利用してアプリを公開する場合、
データベースのアクセス数の増加はそのまま
料金に反映されるので少しでも減少できれば
コスト減に役立ちます。