Laravel 8.x Cursor Based Pagination Example

Introduction

Hello Developer, In this blog, I will teach you the Laravel 8.x cursor-based pagination example. The Laravel team released 8.41 with cursor pagination, a new eloquent method to update models quietly, a new string method, and the…


This content originally appeared on DEV Community and was authored by Suresh Ramani

Introduction

Hello Developer, In this blog, I will teach you the Laravel 8.x cursor-based pagination example. The Laravel team released 8.41 with cursor pagination, a new eloquent method to update models quietly, a new string method, and the latest changes in the 8.x branch:

Cursor pagination works by constructing "where" clauses that compare the ordered column values ​​in the query, providing the most efficient database performance available amongst all of Laravel's pagination methods. This method of pagination is particularly well-suited for large data sets and "infinite" scrolling user interfaces. Unlike offset-based pagination, which includes a page number in the query string of the URLs generated by the paginator, cursor-based pagination places a "cursor" string in the query string.

There is no pagination for the Laravel cursor. So solving those issues Laravel team released 8.41 with cursor pagination. See the below example of how we can create cursor pagination.
Example

$users = User::orderBy('id')->cursorPaginate(10);

Given the above pagination call for ten records, here's an example of the response if we were to return this instance in a controller:

{
  "data": [
    {
      "id": 1,
      "name": "Nona Wilkinson",
      "email": "stephen68@example.com",
      "email_verified_at": "2021-05-12T23:21:19.000000Z",
      "created_at": "2021-05-12T23:21:19.000000Z",
      "updated_at": "2021-05-12T23:21:19.000000Z"
    },
    {
      "id": 2,
      "name": "Titus Feeney Sr.",
      "email": "oklein@example.com",
      "email_verified_at": "2021-05-12T23:21:19.000000Z",
      "created_at": "2021-05-12T23:21:19.000000Z",
      "updated_at": "2021-05-12T23:21:19.000000Z"
    },
    {...}
  ],
  "path": "http://127.0.0.1:8000/users",
  "per_page": 10,
  "next_page_url": "http://127.0.0.1:8000/users?cursor=eyJpZCI6MTAsIl9wb2ludHNUb05leHRJdGVtcyI6dHJ1ZX0",
  "prev_page_url": null
}

Thank you for reading this blog.


This content originally appeared on DEV Community and was authored by Suresh Ramani


Print Share Comment Cite Upload Translate Updates
APA

Suresh Ramani | Sciencx (2021-06-20T11:53:21+00:00) Laravel 8.x Cursor Based Pagination Example. Retrieved from https://www.scien.cx/2021/06/20/laravel-8-x-cursor-based-pagination-example/

MLA
" » Laravel 8.x Cursor Based Pagination Example." Suresh Ramani | Sciencx - Sunday June 20, 2021, https://www.scien.cx/2021/06/20/laravel-8-x-cursor-based-pagination-example/
HARVARD
Suresh Ramani | Sciencx Sunday June 20, 2021 » Laravel 8.x Cursor Based Pagination Example., viewed ,<https://www.scien.cx/2021/06/20/laravel-8-x-cursor-based-pagination-example/>
VANCOUVER
Suresh Ramani | Sciencx - » Laravel 8.x Cursor Based Pagination Example. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2021/06/20/laravel-8-x-cursor-based-pagination-example/
CHICAGO
" » Laravel 8.x Cursor Based Pagination Example." Suresh Ramani | Sciencx - Accessed . https://www.scien.cx/2021/06/20/laravel-8-x-cursor-based-pagination-example/
IEEE
" » Laravel 8.x Cursor Based Pagination Example." Suresh Ramani | Sciencx [Online]. Available: https://www.scien.cx/2021/06/20/laravel-8-x-cursor-based-pagination-example/. [Accessed: ]
rf:citation
» Laravel 8.x Cursor Based Pagination Example | Suresh Ramani | Sciencx | https://www.scien.cx/2021/06/20/laravel-8-x-cursor-based-pagination-example/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.