Laravel simplePaginate: more effective with bigger data

Laravel pagination is quite a simple thing to use, but to determine the amount of pages it makes additional query to the database, which may be a problem for bigger amount of data. And you can actually avoid it. Let's take a simple pagination example from a table with 5000 customers:
$customers = Customer::paginate(10);
And then in Blade file you have this:

    @foreach ($customers as $customer)
First name Last name Email
{{ $customer->first_name }} {{ $customer->last_name }} {{ $customer->email }}
{{ $customers->links() }}
Here's how the queries look in Laravel Debugbar. Laravel pagination As you can see, there's query for the actual page, and then counting the amount of entries/pages. What if you don't need the numbers of pages and you just want to show links for Previous and Next? There's a function for that called simplePaginate().
$customers = Customer::simplePaginate(10);
Laravel simplepaginate Now, look at the amount of queries. Hope that helps!

No comments yet…

Like our articles?

Become a Premium Member for $129/year or $29/month

Written by