【问题标题】:how to use pangination and sortByDesc fuction in laravel?如何在 laravel 中使用 pangination 和 sortByDesc 功能?
【发布时间】:2018-10-22 20:52:48
【问题描述】:

我尝试在我的 laravel 视图中使用分页,但遇到了这个问题

方法 Illuminate\Database\Eloquent\Collection::links 不存在。 (查看:C:\wamp\www\project\resources\views\demmande\demmandes.blade.php)

这是我的控制器功能

public function ViewDemmandes(){
    $listdemmande=Demmande::paginate(10)->sortByDesc('created_at');
    $listvillee=Ville::all();
    $listcategorie=Categorie::all();

    $villes = $listvillee;
    $demmande = $listdemmande;
    $categorie = $listcategorie;

    return view("demmande.demmandes",compact('villes','categorie','demmande'));
}

但是当我像这样删除 sortByDesc 函数时

public function ViewDemmandes(){
    $listdemmande=Demmande::paginate(3);
    $listvillee=Ville::all();
    $listcategorie=Categorie::all();

    $villes = $listvillee;
    $demmande = $listdemmande;
    $categorie = $listcategorie;

    return view("demmande.demmandes",compact('villes','categorie','demmande'));
}

它工作正常,请你帮我解决这个问题

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    你可以在控制器中这样使用

    $listdemmande=Demmande::orderBy('created_at', 'desc')->paginate(10);

    而且不要忘记在刀片视图中添加以添加此...

    在foreach之后添加到这个

    {{$listdemmande->links()}}

    您的链接错误已解决。

    【讨论】:

    • 这不起作用,因为 Eloquent 查询没有方法 sortByDesc
    • yes 不是这样工作的,但它是这样工作的 $data= Product::get()->sortByDesc('created_at');
    【解决方案2】:

    ->paginate(10) 将返回LengthAwarePaginator 的实例。它实现了Collection 具有的所有方法(->sortByDesc() 是其中之一)。但是调用集合方法将返回底层集合,而不是分页器的实例。

    因此,在您的情况下,您将使用从 ->sortByDesc() 返回的集合覆盖分页器。

    使用 SQL 而非集合排序:

    $listdemmande = Demmande::orderBy('created_at', 'DESC')->paginate(10);
    // Or using `->latest()` shorthand:
    // $listdemmande = Demmande::latest()->paginate(10);
    

    如果您出于某种原因想要在获取查询后进行排序,您可以只覆盖底层集合的分页器:

    $listdemmande = Demmande::paginate(10);
    $listdemmande->setCollection($listdemmande->sortByDesc('created_at'));
    

    【讨论】:

      猜你喜欢
      • 2020-08-24
      • 2021-12-14
      • 1970-01-01
      • 2016-03-08
      • 1970-01-01
      • 1970-01-01
      • 2018-11-05
      • 2017-10-17
      • 1970-01-01
      相关资源
      最近更新 更多