blasttech/laravel-paginate-plus

Extra paginate functions for Laravel
25,366 1
Install
composer require blasttech/laravel-paginate-plus
Latest Version:2.0.3
PHP:>=7.2
License:MIT
Last Updated:Jul 23, 2021
Links: GitHub  ·  Packagist
Maintainer: mhkb

Extra functionality for Laravel pagination

Latest Version Build Status Quality Score Software License StyleCI Total Downloads

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:

  1. specify that the model will conform to Blasttech\PaginatePlus\PaginatePlus
  2. use the trait Blasttech\PaginatePlus\PaginatePlusTrait
  3. 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.

Related Packages

czim/laravel-listify

Turns any model into a list. Rebuild of the popular Lookitsatravis Listify packa...

81,491 5
spatie/laravel-translatable

A trait to make an Eloquent model hold translations

30,991,284 2,461
kodeine/laravel-meta

Fluent Meta Data for Eloquent Models, as if it is a property on your model.

949,951 422
mmanos/laravel-metable

A meta package for Laravel 4 models.

2,310 14

Version History

Version Released PHP Laravel License
2.0.3 >=7.2 ^5.8|^6.0|^7.0|^8.0 MIT
2.0.2 >=7.2 ^5.8|^6.0|^7.0 MIT
2.0.1 >=7.2 ^5.8|^6.0 MIT
2.0.0 >=7.2 ^5.8|^6.0 MIT
0.1.8 >=7.0 ~5.3.0|~5.4.0|~5.5.0|~5.6.0|~5.7.0|~5.8.0 MIT