a-dob/preview-paginator

Laravel分页,首页显示不同数量的记录(preview-paginator)

1.0.0 2021-07-19 22:36 UTC

This package is auto-updated.

Last update: 2024-09-20 05:01:01 UTC


README

此包允许您为模型添加本地范围。
分页类实现了Illuminate\Pagination\AbstractPaginator接口,并且与基本简单分页方法类似。

安装

composer require a-dob/preview-paginator

将PreviewPaginated特性添加到模型中

Adob\PreviewPaginator\PreviewPaginated特性添加到您想分页的模型中

use Illuminate\Database\Eloquent\Model;
use Adob\PreviewPaginator\PreviewPaginated;

class Post extends Model
{
    use PreviewPaginated;

    protected $initialQuantity = 2;
    
    protected $perPage = 5;

$initialQuantity属性默认设置第一页返回的模型数量。

$perPage属性默认设置除第一页外其他页返回的模型数量。

使用方法

您可以对Eloquent查询进行分页。在这个例子中,我们将对App\Models\User模型进行分页,并指示我们计划在第一页显示5条记录,在其他页显示15条记录。如您所见,语法几乎与分页查询构建器结果相同

use App\Models\User;

$users = User::previewPaginate(5, 15);

当然,您可以在设置查询的其他约束(如where子句)后调用previewPaginate方法

$users = User::where('votes', '>', 100)->previewPaginate(5, 15);

您还可以在分页Eloquent模型时使用previewPaginate方法

$users = User::where('votes', '>', 100)->previewPaginate(5, 15);

previewPaginated方法的第一参数指定第一页返回的模型数量。

previewPaginated方法的第二参数指定除第一页外其他页返回的模型数量。

如果第一个参数传递了null,则初始数量将根据指定的模型属性定义。如果模型中没有定义此属性,则初始数量为5