PHP Laravel - OrderBy(反向)和分页

时间:2016-12-26 09:12:04

标签: php laravel eloquent

我正在尝试一小时在laravel做一件简单的事情,没有任何作用......

所以,我有很多应该分页的剧集,但在此之前,这些剧集应该是有序的。

我试过这个,但它不起作用:

$result = TheEpisode::where('seriesID', $id)->with(['TheNumbers' => function ($query) {
  return $query->orderBy('episodeNumber', 'desc')->get();
}])->paginate(12);

我也试过这个:

$result = TheEpisode::where('seriesID', $id)->orderBy("TheNumbers.episodeNumber", 'desc')->paginate(12);

也不起作用。

修改

$result = TheEpisode::where('seriesID', $id)->get()->sortByDesc(function ($item) {
  return $item->TheNumbers->max('episodeNumber');
});

这是有效的,并且以相反的顺序返回120集,现在我需要的是对它进行分页,我该怎么做?

1 个答案:

答案 0 :(得分:1)

尝试:

$result = TheEpisode::where('seriesID', $id)->sortByDesc(function ($item) {
    return $item->TheNumbers->max('episodeNumber');
})->paginate(15)->get();

https://laravel.com/docs/5.3/pagination