blasttech/laravel-paginate-plus

Laravel 的额外分页功能

2.0.3 2021-07-23 11:26 UTC

README

Latest Version Build Status Quality Score Software License StyleCI Total Downloads

此包提供了一种特质,可以添加对复杂模型进行分页的能力。

安装

此包可以通过 Composer 安装。

$ composer require blasttech/laravel-paginate-plus

使用

要将复杂分页行为添加到您的模型中,您必须

  1. 指定该模型将符合 Blasttech\PaginatePlus\PaginatePlus
  2. 使用特质 Blasttech\PaginatePlus\PaginatePlusTrait
  3. 指定分页的行数

示例

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); 
    }
    
    ...
}

这将创建一个包含 25 条记录的 LengthAwarePaginator。如果未提供要显示的记录数,则将使用模型的自定义每页值(默认为 15)。

通常情况下,当存在分组计算字段时,您无法进行分页,但使用此包可以。

许可证

MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件