blasttech/laravel-paginate-plus

Extra paginate functions for Laravel
25,358 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

shiftonelabs/laravel-cascade-deletes

Adds application level cascading deletes to Eloquent Models.

829,037 165
kodeine/laravel-meta

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

923,509 422
mmanos/laravel-metable

A meta package for Laravel 4 models.

2,310 14
triun/laravel-model-validable

Gives the models the ability to be validated before saved.

473 1