with('chapters')->withCount([ 'chapters', 'chapters as chapters_to_sync' => function (Builder $query) { $query->where('sync_offline', 1); }, ]); $request->whenHas('order', fn($order) => $courses->orderby($order, $request->dir)); $request->whenMissing('order', fn() => $courses->orderby('published_at', 'desc')); $courses = $courses->get(); return view('index', compact(['courses'])); } }