📅  最后修改于: 2023-12-03 14:43:47.778000             🧑  作者: Mango
在 Laravel 中,分页是一种常见的功能需求,它用于将大量数据分割为小块进行显示。Laravel 提供了内置的分页功能,使得分页变得简单且灵活。
首先,你需要使用 Composer 进行安装:
composer require illuminate/pagination
使用 paginate
方法来实例化分页器。该方法接受两个参数:每页显示的数据量和数据来源。
use Illuminate\Pagination\Paginator;
$itemsPerPage = 10; // 每页显示的数据数量
$data = [...]; // 数据来源
$paginator = new Paginator($data, $itemsPerPage);
你也可以使用 simplePaginate
方法来实例化一个简化的分页器,它只返回下一页链接而不包含总页数和总数据量等信息。
分页器需要知道生成链接的 URL 路径。你可以通过 $paginator->setPath()
方法来设置路径。
$paginator->setPath('/example');
使用 getItems()
方法来获取当前页的数据项。
$items = $paginator->getItems();
你可以使用 $paginator->links()
方法来渲染分页链接。这将返回一个包含 HTML 分页链接的字符串。
echo $paginator->links();
你可以通过链式调用来应用一些额外的选项。
使用 setPaginatorStyle()
方法可以自定义链接样式。
$paginator->setPaginatorStyle('bootstrap'); // 使用 Bootstrap 样式
目前 Laravel 支持以下几种样式:default、bulma、bootstrap、semantic-ui 和 tailwind。
使用 setLinkTexts()
方法可以自定义链接文本。
$paginator->setLinkTexts([
'prev' => 'Previous',
'next' => 'Next',
]);
使用 setContainerClass()
方法可以自定义链接容器的样式类。
$paginator->setContainerClass('pagination');
你可以传递多个样式类,它们将以空格分隔。
以下是一个使用 Laravel 分页器的简单示例:
use Illuminate\Pagination\Paginator;
$itemsPerPage = 5;
$data = range(1, 20);
$paginator = new Paginator($data, $itemsPerPage);
$paginator->setPath('/example');
foreach ($paginator->getItems() as $item) {
echo $item . '<br>';
}
echo $paginator->links();
通过使用 Laravel 内置的分页器,你可以轻松地实现多分页功能。希望本文提供的信息对你有帮助!