对 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 也会返回错误。
那么我将如何对结果进行分页并按动态生成的分数进行排序呢?谢谢。