laravel - 无法从 Laravel 控制器分页
问题描述
我已经使用 Laravel 几天了,所以这是一个新手问题。我正在尝试很多事情,但我无法对结果进行分页...
我试过了
$productos = Producto::paginate(8);
代替
$productos = Producto::get();
我得到了前 8 个结果,但我不能使用链接方法进行分页,得到一个
'方法链接不存在'
错误
public function totalProductos() {
$productos = Producto::get();
$productos = $productos->sortByDesc(function ($productos){
return $productos->detalles->sum('cantidad');
});
return view('admin.usuarios.rankingproductos')->with(compact('productos'));
}
使用该代码我得到了所有结果,但我需要几页来订购它们。你能帮助我吗?谢谢
解决方案
你应该试试这个:
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>
推荐阅读
- visual-studio-code - 用于多级数组的 VSCode 片段
- php - 如何拒绝访问 htaccess 中的请求 url?
- php - 当 woocomerce 保存产品时执行操作
- javascript - Metro Bundler 中的 RN 错误:AsyncStorage 已被提取
- javascript - 当我尝试导入我的 webpack 库时找不到导出“默认”
- flutter - DraggableScrollableSheet 小部件是否与 WEB 环境中的 showModalBottomSheet 函数一起正常工作?
- c++ - Linux-MSBuild-project 未在 VisualStudio 中启动
- firebase - firebase firestore 聊天时间戳顺序无法正常工作
- python - python - 子进程命令和输出(linux命令)
- twitter-bootstrap - 由于 react-bootstrap/button 在 Netlify 中部署失败