Merge Multiple Collection Paginate in Laravel Example
If you are merge multiple laravel collection and you need to paginate with laravel collection then i will show you how to paginate a merged collection in laravel 5.8 application. you can easily make pagination of multiple merge collection in laravel 5, laravel 6, laravel 7, laravel 8, laravel 9 and laravel 10.
We will create 'paginate' function using Collection macro method. You need to register that method to AppServiceProvider. i will give you very simple example to understand how it is working for laravel paginate collection or array.
So, basically you can make manually pagination with laravel collection. let's see bellow example:
web/routes.php
Route::get('collection-array', function(){
$user = \App\User::get();
$product = \App\Product::get();
$data = $user->merge($product)->paginate(10);
dd($data);
});
Now you need to register collection paginate method on AppServiceProvider file.
app/Providers/AppServiceProvider.php
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Collection;
use Illuminate\Pagination\LengthAwarePaginator;
class AppServiceProvider extends ServiceProvider
{
/**
* Register any application services.
*
* @return void
*/
public function register()
{
/**
* Paginate a standard Laravel Collection.
*
* @param int $perPage
* @param int $total
* @param int $page
* @param string $pageName
* @return array
*/
Collection::macro('paginate', function($perPage, $total = null, $page = null, $pageName = 'page') {
$page = $page ?: LengthAwarePaginator::resolveCurrentPage($pageName);
return new LengthAwarePaginator(
$this->forPage($page, $perPage),
$total ?: $this->count(),
$perPage,
$page,
[
'path' => LengthAwarePaginator::resolveCurrentPath(),
'pageName' => $pageName,
]
);
});
}
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
}
}
Now you can check it...
I hope it can work...

Hardik Savani
I'm a full-stack developer, entrepreneur and owner of Aatman Infotech. I live in India and I love to write tutorials and tips that can help to other artisan. I am a big fan of PHP, Laravel, Angular, Vue, Node, Javascript, JQuery, Codeigniter and Bootstrap from the early stage. I believe in Hardworking and Consistency.
We are Recommending you
- Build Admin Panel with Laravel 5.8
- Build RESTful API In Laravel 5.8 Example
- How to create and download pdf in Laravel 5.8?
- Ajax Autocomplete Textbox in Laravel 5.8 Example
- Laravel 5.8 CRUD (Create Read Update Delete) Tutorial For Beginners
- Laravel Change Date Format using Carbon Example
- How to Get Last Inserted Id in Laravel?
- Laravel Create JSON File & Download From Text Example