blasttech / laravel-paginate-plus
Extra paginate functions for Laravel
Installs: 24 352
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 10
Forks: 1
Open Issues: 0
Requires
- php: >=7.2
- illuminate/database: ^5.8|^6.0|^7.0|^8.0
- illuminate/pagination: ^5.8|^6.0|^7.0|^8.0
- illuminate/support: ^5.8|^6.0|^7.0|^8.0
Requires (Dev)
- phpunit/phpunit: ^5.7|^6.2
This package is auto-updated.
Last update: 2024-10-23 18:36:56 UTC
README
This package provides a trait that adds the ability to paginate complex models.
Installation
This package can be installed through Composer.
$ composer require blasttech/laravel-paginate-plus
Usage
To add complex pagination behaviour to your model you must:
- specify that the model will conform to
Blasttech\PaginatePlus\PaginatePlus
- use the trait
Blasttech\PaginatePlus\PaginatePlusTrait
- specify the number of rows to paginate
Example
use Blasttech\PaginatePlus\PaginatePlus; use Blasttech\PaginatePlus\PaginatePlusTrait; class MyModel extends Eloquent implements PaginatePlus { use PaginatePlusTrait; public function getCustomers() { return Customer::addSelect(DB::raw('REPLACE(customer_name, 'Pty Ltd', '') AS customer')) ->groupBy('customer') ->paginatePlus(25); } ... }
This will create a LengthAwarePaginator of 25 records. If no value is provided for the number of records to show, the model's per_page value (defaults to 15) will be used.
Normally, you wouldn't be able to paginate when there is a grouped calculated field, but with this package you can.
License
The MIT License (MIT). Please see License File for more information.