In addition to Eloquent's withCount()
method to count related records, you can also load the count on-the-fly, with loadCount()
:
// if your Book hasMany Reviews...$book = Book::first(); $book->loadCount('reviews');// Then you get access to $book->reviews_count; // Or even with extra condition$book->loadCount(['reviews' => function ($query) { $query->where('rating', 5);}]);