orderBy('published_at', 'desc') ->take(5) ->get(); $latestCategories = Category::orderBy('created_at', 'desc') ->take(5) ->get(); $mostViewedPosts = Post::with(['category', 'tags', 'author']) ->orderBy('views', 'desc') ->take(5) ->get(); $randomPosts = Post::with(['category', 'tags', 'author']) ->inRandomOrder() ->take(4) ->get(); return response()->json([ 'latest_posts' => PostResource::collection($latestPosts), 'latest_categories' => CategoryResource::collection($latestCategories), 'most_viewed_posts' => PostResource::collection($mostViewedPosts), 'random_posts' => PostResource::collection($randomPosts), ], 200); } }