我正在使用laravel pagination,但我希望显示分页链接,无论是否只有一个页面,还是多个页面。
目前,只有在有多页结果时才显示。
Eloquent Call
$products = Product::where('username', Sentry::getUser()->username)->paginate(25);
然后使用
显示在视图中{!! $products->links() !!}
如果只有一个页面,我如何强制Laravel显示它?
答案 0 :(得分:3)
发布分页视图:
php artisan vendor:publish --tag=laravel-pagination
此命令会将视图放置在resources/views/vendor/pagination
目录中。
默认视图为bootstrap-4.blade.php
,只需删除此文件中的@if ($paginator->hasPages())
。
答案 1 :(得分:2)
没有简单的方法,因为它是硬编码的。但是,您可以扩展SimpleBootstrapThreePresenter
并覆盖hasPages()
方法:
public function hasPages()
{
return true;
}
而不是:
public function hasPages()
{
return $this->paginator->hasPages() && count($this->paginator->items()) > 0;
}
答案 2 :(得分:2)
关注Alexey Mezenin's answer,我扩展了BootstrapThreePresenter
类:
<?php namespace App\Extend;
use Illuminate\Pagination\BootstrapThreePresenter;
class CustomPaginationLinks extends BootstrapThreePresenter {
public function hasPages()
{
return true;
}
}
然后能够在视图中呈现如下:
{!! with(new App\Extend\CustomPaginationLinks($products))->render() !!}