LaravelLaravel19 min read

Eager Loading: Fixing N+1 Query Problems

Improve performance by loading related models efficiently using eager loading.

Daniel Wright
November 16, 2025
2.7k63

The N+1 problem happens when Laravel runs one query for a list, then one query per item.

## Problem example

```php
$posts = Post::all();
foreach ($posts as $post) {
  echo $post->user->name;
}
```

This can trigger dozens of queries.

## Solution

```php
$posts = Post::with('user')->get();
```

## Comparison

```mermaid
flowchart TD
  A[Load Posts] --> B{Eager load?}
  B -->|No| C[1 + N Queries]
  B -->|Yes| D[2 Queries]
```

Eager loading is essential for scalable applications.

In the next tutorial, we will create reusable query scopes.
#Laravel#Eloquent#Performance#Advanced