Great pagination generator for Laravel
MIT License
Great pagination generator for Laravel
1, 2, 3, 4, 5, ..., 20
1, ..., 12, 13, 14, ..., 20
1, ..., 16, 17, 18, 19, 20
php: >=8.0
laravel/framework: ^9.0
# Install the package
composer require stepanenko3/laravel-pagination
Create your own database builder in app\Builders\BaseBuilder.php
use Stepanenko3\LaravelPagination\Pagination;
use Illuminate\Database\Eloquent\Builder;
class BaseBuilder extends Builder
{
public function paginate($perPage = null, $columns = ['*'], $pageName = 'page', $page = null)
{
$page = $page ?: Pagination::resolveCurrentPage($pageName);
$perPage = $perPage ?: $this->model->getPerPage();
$results = ($total = $this->toBase()->getCountForPagination())
? $this->forPage($page, $perPage)->get($columns)
: $this->model->newCollection();
return new Pagination($results, $total, $perPage, $page, [
'path' => Pagination::resolveCurrentPath(),
'pageName' => $pageName,
]);
}
}
Or use without database builder
new Pagination(
$items,
$total,
$perPage,
$currentPage,
);
Thank you for considering contributing to this package! Please create a pull request with your contributions with detailed explanation of the changes you are proposing.
This package is open-sourced software licensed under the MIT license.