DeveloperBreeze

Flexible Sorting Development Tutorials, Guides & Insights

Unlock 1+ expert-curated flexible sorting tutorials, real-world code snippets, and modern dev strategies. From fundamentals to advanced topics, boost your flexible sorting skills on DeveloperBreeze.

Building a Custom Pagination System for API Responses

Tutorial November 16, 2024
php

   public function index(Request $request)
   {
       $limit = $request->get('limit', 10);
       $cursor = $request->get('cursor');

       $query = Post::query();

       if ($cursor) {
           $query->where('id', '>', $cursor); // Fetch items after the cursor
       }

       $posts = $query->orderBy('id')->take($limit + 1)->get();

       $nextCursor = $posts->count() > $limit ? $posts->last()->id : null;

       return response()->json([
           'data' => $posts->take($limit), // Return only the requested number of items
           'meta' => [
               'limit' => $limit,
               'next_cursor' => $nextCursor,
           ],
       ]);
   }
   {
       "data": [
           { "id": 11, "title": "Post 11" },
           { "id": 12, "title": "Post 12" }
       ],
       "meta": {
           "limit": 10,
           "next_cursor": 20
       }
   }