DAY 40/5 完了
EloquentとリレーションとN+1問題
🧭 このDayを終えると説明できること
Eloquentでモデルとテーブルがどう対応し、リレーションをどう扱うかを説明でき、N+1問題がなぜ起きて・どう気づき・どう直すかを、発行SQLの本数の違いを添えて面接で語れるようになる。
- 1
Eloquentの基本
モデル1つがテーブル1つに対応する。SQLを直接書かずにデータを読み書きする仕組みを理解する。
設問 2 問
- 2
リレーション
テーブル同士のつながり(1対多・多対多など)をモデルのメソッドとして表現する。
設問 2 問
- 3
N+1問題
リレーションを持つデータをループで扱うと、SQLが件数分だけ増える定番の性能問題。
設問 3 問
- 4
Eager Loading(事前ロード)
with で関連データをまとめて先読みし、N+1を根本から解決する。遅延ロードとの違いを押さえる。
設問 3 問
- 5
クエリビルダとコレクションの違い
絞り込みをDB側でやるか、PHP側でやるか。性能の基礎となる「どこで絞るか」の意識を持つ。
設問 2 問