我试图在我的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'));
}
它工作正常,请您能帮我解决这个问题吗
在->paginate(10)
返回的实例LengthAwarePaginator。它实现了Collection拥有的所有方法(->sortByDesc()
是其中之一)。但是调用集合方法将返回基础集合,而不是paginator的实例。
因此,在您的情况下,您要使用从返回的集合来覆盖分页器->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'));
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句