Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP laravel sortBy to orderBy_Php_Laravel_Eloquent - Fatal编程技术网

PHP laravel sortBy to orderBy

PHP laravel sortBy to orderBy,php,laravel,eloquent,Php,Laravel,Eloquent,我有下面的代码,它基本上以降序获得epiodeNumber(many)的查询结果,这是TheNumbers的关系模型(一对多)中的epiodeNumber $nearEpisodes = TheEpisode::where("seriesID", $seriesID)->get()->sortByDesc(function ($item) { return $item->TheNumbers->max('episodeNumber'); })->values

我有下面的代码,它基本上以降序获得epiodeNumber(many)的查询结果,这是
TheNumbers
的关系模型(一对多)中的epiodeNumber

$nearEpisodes = TheEpisode::where("seriesID", $seriesID)->get()->sortByDesc(function ($item) {
    return $item->TheNumbers->max('episodeNumber');
})->values();
我是否可以在不使用
sortByDesc
的情况下执行相同的操作,而使用
orderBy
来提高性能


这将允许我在之后对其进行分页。

不确定表是如何链接的,但您可以使用
join
将模型分页为:

TheEpisode::where("seriesID", $seriesID)
        ->join('TheNumbers', 'seriesID.id', '=', 'TheNumbers.TheEpisode_id')
        ->select(DB::raw('TheEpisode.*, MAX(episodeNumber) as `max_episodeNumber`'))
        ->groupBy('TheEpisode_id')
        ->orderBy('max_episodeNumber', 'desc')
        ->paginate(10);

TheEpisode::where(“seriesID”,$seriesID)->orderBy('epiodeNumber','desc')。->get();试试这个…
epiodenumber
TheNumbers
中,它不存在于关系函数(theepised模型)的epiodecode中,对epiodenumber执行orderBy()。我不需要对编号进行排序,我需要对epiodecode进行排序,然后试试这个,theepiode::where(“seriesID”,$seriesID)->orderBy('id','desc')。->get();