Stellt Euch vor ihr habt ein Model Post mit einer Relation Comment. Auf der Übersichtsseite von Post möchtet ihr nur die Anzahl der Kommentare eines jeweiligen Post anzeigen. Dafür gibt es die echt hilfreiche Laravel Funktion withCount().
Post::withCount('comments')->all();
Aber bei Comments kann es ja sein, dass manchen noch approved werden müssen. Diese müssen dann noch rausgenommen werden. Das geht mit einer Where Condition innerhalb der withCount Funktion.
Post::withCount(['comments', function($query) {
$query->where('comment_appoved', '=', true);
}])->all();
Und viola wir haben das was wir wollen. Larvel is nice 😉