Example 1: paginate relationship laravel7
$category = Category::first();
$apps = $category->apps()->paginate(10);
return view('example', compact('category', 'apps'));
Example 2: laravel multiple paginate
$collection1 = Model::paginate(20);
$collection2 = Model2::paginate(20);
$collection2->setPageName('other_page');
Example 3: laravel pagination
{{ $users->withQueryString()->links() }}
Example 4: create custom pagination in laravel 7 for api
<?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
{
public function index()
{
$myArray = [
['id'=>1, 'title'=>'Laravel 6 CRUD'],
['id'=>2, 'title'=>'Laravel 6 Ajax CRUD'],
['id'=>3, 'title'=>'Laravel 6 CORS Middleware'],
['id'=>4, 'title'=>'Laravel 6 Autocomplete'],
['id'=>5, 'title'=>'Laravel 6 Image Upload'],
['id'=>6, 'title'=>'Laravel 6 Ajax Request'],
['id'=>7, 'title'=>'Laravel 6 Multiple Image Upload'],
['id'=>8, 'title'=>'Laravel 6 Ckeditor'],
['id'=>9, 'title'=>'Laravel 6 Rest API'],
['id'=>10, 'title'=>'Laravel 6 Pagination'],
];
$myCollectionObj = collect($myArray);
$data = $this->paginate($myCollectionObj);
return view('paginate', compact('data'));
}
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);
}
}
<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() }}
Example 5: access paginator object attribute in laravel
$paginator = tap($this->items()->where('position', '=', null)->paginate(15),function($paginatedInstance){
return $paginatedInstance->getCollection()->transform(function ($value) {
return $value;
});
});