Bobcares

How to Paginate Laravel Collection?

by | Aug 28, 2023

Let’s see more about how to paginate the Laravel collection. At Bobcares, with our Laravel Support Services, we can handle your Laravel issues.

How to Paginate Laravel Collection?

The paginate() method in Laravel can be used to paginate the outcomes of database queries. However, if we need to paginate a collection of data that was not acquired directly from a database query, we may do so by calling the paginate() method on the Illuminate\Support\Collection class.

How to paginate Laravel collection

Steps to Paginate Laravel Collection

1. Firstly, create a Laravel collection that contains the data we want to paginate. Using the collect() method will allow us to do this:

$data = [

    ['name' => 'John'],

    ['name' => 'Jane'],

    // ... more data

];


$collection = collect($data);


2. In order to create a paginated subset of the data, use the collection’s paginate() method. The number of items to show per page and the current page number are the two inputs for this method:

$perPage = 10; // Number of items per page

$currentPage = 1; // Current page number


$paginatedData = $collection->paginate($perPage, $currentPage);

3. An instance of Illuminate\Pagination\LengthAwarePaginator, which contains both the paginated data and the pagination metadata, will be the outcome of using the paginate() method. Similar to database query pagination, we can also use this paginated data in the views:

foreach ($paginatedData as $item) {

    // Process each item

}


// Render pagination links in your view

{{ $paginatedData->links() }}

4. Alter the value of the $currentPage variable and execute the paginate() method once more to navigate to a different page of the paginated collection:

$currentPage = 2;

$paginatedData = $collection->paginate($perPage, $currentPage);

The pagination is applied after the data is put into memory when using the paginate() function on a collection. Because the full collection must be loaded into memory before pagination can take place, it follows that if we have a huge collection, it might not be the most effective technique to paginate data.

[Need to know more? Get in touch with us if you have any further inquiries.]

Conclusion

If we’re working with huge data and want to take advantage of query pagination, we should think about utilizing the Eloquent query builder or the Query Builder to get the data we need from the database and paginate the results using the paginate() method that is built into the query builder.

PREVENT YOUR SERVER FROM CRASHING!

Never again lose customers to poor server speed! Let us help you.

Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.

GET STARTED

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

Never again lose customers to poor
server speed! Let us help you.

Privacy Preference Center

Necessary

Necessary cookies help make a website usable by enabling basic functions like page navigation and access to secure areas of the website. The website cannot function properly without these cookies.

PHPSESSID - Preserves user session state across page requests.

gdpr[consent_types] - Used to store user consents.

gdpr[allowed_cookies] - Used to store user allowed cookies.

PHPSESSID, gdpr[consent_types], gdpr[allowed_cookies]
PHPSESSID
WHMCSpKDlPzh2chML

Statistics

Statistic cookies help website owners to understand how visitors interact with websites by collecting and reporting information anonymously.

_ga - Preserves user session state across page requests.

_gat - Used by Google Analytics to throttle request rate

_gid - Registers a unique ID that is used to generate statistical data on how you use the website.

smartlookCookie - Used to collect user device and location information of the site visitors to improve the websites User Experience.

_ga, _gat, _gid
_ga, _gat, _gid
smartlookCookie
_clck, _clsk, CLID, ANONCHK, MR, MUID, SM

Marketing

Marketing cookies are used to track visitors across websites. The intention is to display ads that are relevant and engaging for the individual user and thereby more valuable for publishers and third party advertisers.

IDE - Used by Google DoubleClick to register and report the website user's actions after viewing or clicking one of the advertiser's ads with the purpose of measuring the efficacy of an ad and to present targeted ads to the user.

test_cookie - Used to check if the user's browser supports cookies.

1P_JAR - Google cookie. These cookies are used to collect website statistics and track conversion rates.

NID - Registers a unique ID that identifies a returning user's device. The ID is used for serving ads that are most relevant to the user.

DV - Google ad personalisation

_reb2bgeo - The visitor's geographical location

_reb2bloaded - Whether or not the script loaded for the visitor

_reb2bref - The referring URL for the visit

_reb2bsessionID - The visitor's RB2B session ID

_reb2buid - The visitor's RB2B user ID

IDE, test_cookie, 1P_JAR, NID, DV, NID
IDE, test_cookie
1P_JAR, NID, DV
NID
hblid
_reb2bgeo, _reb2bloaded, _reb2bref, _reb2bsessionID, _reb2buid

Security

These are essential site cookies, used by the google reCAPTCHA. These cookies use an unique identifier to verify if a visitor is human or a bot.

SID, APISID, HSID, NID, PREF
SID, APISID, HSID, NID, PREF