Eager load relations in Laravel using withWhereHas
When using whereHas
in Laravel, it's not uncommon to also eager load the relation using with
.
$posts = Post::query() ->with('author') ->whereHas('author', function (Builder $query) { $query->where('name', 'Seb'); }) ->get();
Laravel also has a more succinct method that combines the two: withWhereHas
.
$posts = Post::query() ->withWhereHas('author', function (Builder $query) { $query->where('name', 'Seb'); }) ->get();