Laravel 8.x Cursor Based Pagination Example
source link: https://dev.to/sureshramani/laravel-8-x-cursor-based-pagination-example-2ipj
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Laravel 8.x Cursor Based Pagination Example
Jun 20 Originally published at techvblogs.com
・2 min read
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": "[email protected]",
"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": "[email protected]",
"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.
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK