How to Create Pagination from Array in Laravel?
Today, i want to share with you example of convert array to pagination in laravel. i will show you how to create pagination from custom array in laravel. you can easily do it laravel pagination with array. step by step solution of laravel paginate from array.
We will create our custom collection object with array and create pagination using laravel eloquent. we will use Paginator and LengthAwarePaginator facade to creating pagination from custom array in laravel 6, laravel 7, laravel 8, laravel 9, laravel 10 and laravel 11.
In this example, we will simple create one route and call controller method. that controller method we will create our custom array and convert into collection object. we also create one paginate() in same controller to create pagination in laravel. then you have to just call view and pass result variable. you can use like your paginate object.
Create Route
In next step, we will add new one route in web.php file. route we will call controller method So let's simply create both route as bellow listed:
routes/web.php
Route::get('paginate', 'PaginationController@index');
Create Controller
Here, we will create PaginationController with two method, one for call route and another for creating custom pagination. So let's add controller as like bellow:
app/Http/Controllers/PaginationController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Pagination\Paginator;
use Illuminate\Support\Collection;
use Illuminate\Pagination\LengthAwarePaginator;
class PaginationController extends Controller
{
/**
* The attributes that are mass assignable.
*
* @var array
*/
public function index()
{
$myArray = [
['id'=>1, 'title'=>'Laravel CRUD'],
['id'=>2, 'title'=>'Laravel Ajax CRUD'],
['id'=>3, 'title'=>'Laravel CORS Middleware'],
['id'=>4, 'title'=>'Laravel Autocomplete'],
['id'=>5, 'title'=>'Laravel Image Upload'],
['id'=>6, 'title'=>'Laravel Ajax Request'],
['id'=>7, 'title'=>'Laravel Multiple Image Upload'],
['id'=>8, 'title'=>'Laravel Ckeditor'],
['id'=>9, 'title'=>'Laravel Rest API'],
['id'=>10, 'title'=>'Laravel Pagination'],
];
$data = $this->paginate($myArray);
return view('paginate', compact('data'));
}
/**
* The attributes that are mass assignable.
*
* @var array
*/
public function paginate($items, $perPage = 5, $page = null, $options = [])
{
$page = $page ?: (Paginator::resolveCurrentPage() ?: 1);
$items = $items instanceof Collection ? $items : Collection::make($items);
return new LengthAwarePaginator($items->forPage($page, $perPage), $items->count(), $perPage, $page, $options);
}
}
Create View File
Here, we just need to create blade file to print data. so let's create simple blade file as like bellow:
app/Http/Controllers/PaginationController.php
<div class="container">
<table class="table table-bordered">
<tr>
<th>Id</th>
<th>Title</th>
</tr>
@foreach($data as $post)
<tr>
<td>{{ $post->id }}</td>
<td>{{ $post->title }}</td>
</tr>
@endforeach
</table>
</div>
{{ $data->links() }}
Now you can run and check.
I hope it can help you...
Hardik Savani
I'm a full-stack developer, entrepreneur and owner of ItSolutionstuff.com. 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
- How to Show Pagination with Serial Number in Laravel?
- How to Generate a Dropdown List of Timezone in Laravel?
- How to use Bootstrap Icons in Laravel Vite?
- How to Install Sweetalert2 in Laravel 10 Vite?
- Laravel Eloquent WhereIn Query Example
- How to Use Date Format Validation in Laravel?
- How to Execute MySQL Query in Laravel?
- How to Install and Run Laravel Project on Localhost?
- How to Increment and Decrement a Column Value in Laravel?
- How to Get Difference Between Two Dates in Laravel?
- Laravel Redirect Back to Previous Page After Login Example
- How to Get Query Log in Laravel Eloquent?
- How to Set URL without Http of Other Site in Laravel?
- Laravel CKeditor 5 Image Upload Tutorial Example