Eager Loading with Subqueries in Laravel Eloquent
Eager loading with subqueries allows you to load related models using a subquery instead of joining the tables, which can improve performance in certain situations. For example, if you have a User model and a Post model, you can count the number of posts created by each user in the last month using a subquery like this:
```sql
$users = User::withCount(['posts as post_count' => function ($query) {
$query->select(DB::raw('count(*)'))
->where('created_at', '>', now()->subMonth());
}])->get();
```
Nick Ciolpan
30 Jan 2023
« Back to post