首页 > 解决方案 > 无法从 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'));

}

使用该代码我得到了所有结果,但我需要几页来订购它们。你能帮助我吗?谢谢

标签: laravelpagination

解决方案


你应该试试这个:

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>

推荐阅读