【发布时间】:2013-09-18 16:37:59
【问题描述】:
对 Laravel 框架/PHP 框架来说是相当新的,我决定为我的第一个项目构建一个 Hacker News 克隆。但是,当我尝试通过排序算法对结果进行排序并对结果进行分页时,我遇到了一些问题。
控制器 -
public function index()
{
// tried Story::paginate(10) here instead, results in error
$stories = Story::all();
$stories = $stories->sortBy(function($story)
{
return $story->getScore(); // returns score generated from HN algorithm
})->reverse();
return View::make('stories.index')->with('stories', $stories);
}
视图只是一个“foreach($stories as $story)”循环。
上面的代码运行正常,但是没有分页。在 sortBy 之前调用 paginate 会返回错误(Paginator 类没有 sortBy 方法),在 sortBy 之后调用 paginate 也会返回错误。
那么我将如何对结果进行分页并按动态生成的分数进行排序?谢谢。
【问题讨论】:
-
您需要在
sortBy成为paginator对象之前使用它。不是之后。
标签: php pagination laravel