我已经使用Laravel几天了,所以这是一个新手问题。我正在尝试很多事情,但无法对结果进行分页...
我尝试过
$productos = Producto::paginate(8);
代替
$productos = Producto::get();
我得到了前8个结果,但是我无法使用links方法进行分页,得到
“方法链接不存在”
错误
public function totalProductos() {
$productos = Producto::get();
$productos = $productos->sortByDesc(function ($productos){
return $productos->detalles->sum('cantidad');
});
return view('admin.usuarios.rankingproductos')->with(compact('productos'));
}
使用该代码,我得到了所有结果,但是需要一些页面才能对其进行排序。你能帮助我吗?谢谢
答案 0 :(得分:1)
您应该尝试以下操作:
public function totalProductos() {
$productos = Producto::paginate(8);
$productos = $productos->sortByDesc(function ($productos){
return $productos->detalles->sum('cantidad');
});
return view('admin.usuarios.rankingproductos')->with(compact('productos'));
}
您的查看文件,例如:
<div class="pull-left">
<div class="row">
<div class="col-xs-12">
<div class="explore-pagination">
<nav>
<div class="pagination"> {{ $productos->render() }}</div>
</nav>
</div>
</div>
</div>
</div>
更新后的答案
public function totalProductos() {
$productos = Producto::sortByDesc(function ($productos){
return $productos->detalles->sum('cantidad');
})->paginate(8);;
return view('admin.usuarios.rankingproductos')->with(compact('productos'));
}
<div class="pull-left">
<div class="row">
<div class="col-xs-12">
<div class="explore-pagination">
<nav>
<div class="pagination"> {{ $productos->links() }}</div>
</nav>
</div>
</div>
</div>
</div>
答案 1 :(得分:1)
更新答案
public function totalProductos() {
$productos = Producto::paginate(8)->sortByDesc(function ($productos){
return $productos->detalles->sum('cantidad');
});
return view('admin.usuarios.rankingproductos', compact(['productos']));
}
“方法链接不存在”
links
方法将呈现到结果集中其余页面的链接。每个链接都已经包含正确的page
查询字符串变量。
因此,一旦检索到结果,就可以显示结果并将页面链接呈现在blade
文件中
<div class="container">
@foreach ($productos as $product)
{{ $product->name }}
@endforeach
</div>
{{ $productos->links() }}
答案 2 :(得分:1)
控制器功能是:
public function totalProductos() {
$productos = Producto::paginate(8)->sortByDesc(function ($productos){
return $productos->detalles->sum('cantidad');
});
return view('admin.usuarios.rankingproductos')->with(compact('productos'));
}
您应将以下行{!! $productos->render() !!}
写在刀片文件中:
<div class="row">
<div class="col-xs-12">
{!! $productos->render() !!}
</div>
</div>