"array|\Illuminate\Database\Eloquent\Collection" ])] public function run(Index $request): array { $categories = $this->findCategoryTask->all([ 'forums' => function ($query) { $query->with([ 'users', 'lastpost' => function ($query) { return $query->with(['thread', 'createdBy']); } ]); } ])->filter(function (Category $category) use ($request) { $category->forums = $this->getForums($category, $request); return $category->forums->count() > 0; }); return [ 'categories' => $categories ]; } }