a-dob / preview-paginator
Laravel分页,首页显示不同数量的记录(preview-paginator)
1.0.0
2021-07-19 22:36 UTC
Requires
- php: ^7.4|^8.0
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