DeveloperBreeze

Laravel Programming Tutorials, Guides & Best Practices

Explore 51+ expertly crafted laravel tutorials, components, and code examples. Stay productive and build faster with proven implementation strategies and design patterns from DeveloperBreeze.

Building a Custom Pagination System for API Responses

Tutorial November 16, 2024
php

   public function index(Request $request)
   {
       $sortBy = $request->get('sort_by', 'id');
       $sortOrder = $request->get('sort_order', 'asc');

       $posts = Post::orderBy($sortBy, $sortOrder)->paginate(10);

       return response()->json([
           'data' => $posts->items(),
           'meta' => [
               'current_page' => $posts->currentPage(),
               'per_page' => $posts->perPage(),
               'total' => $posts->total(),
               'last_page' => $posts->lastPage(),
           ],
           'links' => [
               'next' => $posts->nextPageUrl(),
               'previous' => $posts->previousPageUrl(),
           ],
       ]);
   }

Add query parameters for filtering: