在 Laravel 5.2 中让我的分页工作出现问题时,我使用了一个 foreach 来生成一个对象列表,其中每个对象都有一定的排名。(竞赛)
我使用的第一个查询是这个:
$goedeDoelen = GoedDoel::orderBy('punten', 'desc')->simplePaginate(5);
这工作得很好,唯一的问题是我的排名会重置我会转到不同页面的所有内容。
示例:第 1 页有 1 - 5 级的对象,第 2 页应该有 6-10 级的对象。通过使用第一个 Paginate 方法,第二个页面将再次具有从 1 开始的对象。
我试图通过将排名作为额外属性添加到我的 Eloquent 集合中来解决这个问题。
$ranking = GoedDoel::orderBy('punten', 'desc')->get();
foreach($ranking as $key => $item) {
$item->ranking = $key+1;
}
之后,我尝试在我更新的集合上使用 ->simplePaginate() 。这给出了一个错误。
我创建了一个自定义分页器。
$goedeDoelen = new Paginator($ranking, 5);
这没有按预期工作。当我转到我的第二页时,URL 混乱并转到另一个视图。
如何确保分页器知道我当前的 URL 是什么,它必须应用 ?page=2