这是我的类别模型:
public function products() {
return $this->hasMany('Product');
}
然后我打印每个类别的所有产品:
@foreach($category->products as $product)
{{ $product->title }}
@endforeach
但是,它会将所有相关产品打印到此类别。在这种情况下我如何使用分页?我试图在底部打印分页链接:
<div class="pager">
{{ $category->products()->paginate(12)->links() }}
</div>
它确实正确打印分页链接,但是当我更改页面时 - 内容不会改变。
答案 0 :(得分:4)
在发送数据之前,首先要对结果进行分页,结果如下。
$products = $category->products()->paginate(12);
现在将此值传递给视图并重复它。
@foreach($products as $product)
{{$product->title}}
@endforeach
要在视图中的产品上显示链接,只需调用链接方法。
{{$products->links()}}
答案 1 :(得分:2)
您想首先调用您的产品的分页:
public function products() {
return $this->hasMany('Product');
}
public function recentProducts() {
return $this->products()->paginate(12);
}
然后在你的视图中循环播放
@foreach($category->recentProducts() as $product)
{{ $product->title }}
@endforeach
然后你的链接
<div class="pager">
{{ $category->recentProducts()->links() }}
</div>
答案 2 :(得分:0)
将分页集合传递给视图:
// controller
$products = $category->products()->paginate(12);
// view
@foreach ($products as $product)
// do what you need
@endforeach
// links:
$products->links();