// N+1 проблема
$posts = Post::all();
foreach ($posts as $post) {
echo $post->author->name; // запрос на каждый пост!
}
// Eager loading - решение
$posts = Post::with('author')->get(); // 2 запроса
$posts = Post::with(['author', 'tags'])->get(); // 3 запроса
$posts = Post::with('author.profile')->get(); // вложенные
// Lazy eager loading (после загрузки)
$posts->load('comments');
// Подсчет без загрузки
$posts = Post::withCount('comments')->get();
echo $post->comments_count;
// Предотвращение N+1 (Laravel 11+)
Model::preventLazyLoading(); // Exception при lazy load