我尝试在我的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'));
}
它运作正常请你帮我解决这个问题
答案 0 :(得分:1)
->paginate(10)
将返回LengthAwarePaginator的实例。这实现了Collection具有的所有方法(->sortByDesc()
是其中之一)。但是调用collection方法将返回底层集合,而不是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'));
答案 1 :(得分:1)
你可以在控制器中使用这样的东西
$ listdemmande = Demmande :: orderBy('created_at','desc') - > paginate(10);
并且不要忘记添加刀片视图以添加此...
在foreach添加到此
之后{{$ listdemmande->链接()}}
您的链接错误已解决。