[英]How can I display pagination in laravel?
我使用laravel 5.6
我尝试了这个文档: https : //laravel.com/docs/5.6/pagination
我的控制器是这样的:
public function index()
{
$products = $this->product->list();
dd($products);
return view('admin.product.index',compact('products'));
}
我的清单功能是这样的:
public function scopeList($query)
{
return $query->orderBy('updated_at', 'desc')->paginate(20);
}
如果我dd($products);
,结果是这样的:
在视图laravel上,我添加以下代码:
{{ $products->links() }}
然后我在网上检查,结果为空
为什么结果为空?
有什么不对?
如果未显示图像,请访问此处: https : //postimg.org/image/w39usbfrv/
您的控制器代码将如下所示
$products = DB::table('products')->paginate(20);
return view('admin.product.index', ['products' => $products ]);
您的查看页面代码如下所示
@foreach ($products as $product)
{{ $product->product_name}}
@endforeach
{{ $products->links() }}
注意:添加更多项目以超出您的限制,以查看分页链接
在laravel分页中可以使用两种方法来完成
1)使用查询生成器结果
$products= DB::table('products')->paginate(15);
要么
$products= DB::table('products')->simplePaginate(15);
如果只需要在分页视图中显示简单的“下一个”和“上一个”链接,则可以使用simplePaginate方法。
2)使用雄辩的结果
$products= App\Products::paginate(15);
打印分页链接
{{ $products->links() }}
使用以下内容自定义分页视图
{{ $paginator->links('view.name') }}
或者您可以参考此链接以获取更多自定义分页视图
使用paginate()
函数
App\Product::paginate();
或按查询生成器:
$products= DB::table('products')->paginate(15);
这是因为,您要分页列出20种产品,而您只有11种产品。 这就是为什么只有在您请求的产品数量多于此数量时,才会出现分页。对于您来说,您只有一页,有11种产品。 查看顶部#total:11
, lastpage:1
,这就是空分页的原因,因为没有要分页的内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.