LaravelのEagerローディングは、データ取得を簡素化する強力なリレーションシップ機能です。
Eagerローディングを使用すると、with()メソッドを使って関連データを一度に取得できます。これにより「N+1問題」を防ぎ、データベースクエリの数を劇的に削減できます。
// N+1問題が発生する場合
$posts = Post::all();
foreach ($posts as $post) {
echo $post->author->name; // 投稿ごとにクエリ実行
}
// Eagerローディングを使用(推奨)
$posts = Post::with('author')->get();
foreach ($posts as $post) {
echo $post->author->name; // たった2つのクエリで完了
}
with(['author', 'comments']))