【发布时间】:2020-10-17 18:46:39
【问题描述】:
我正在尝试获取 5 个最近项目的列表,并根据 created_at 日期字段按降序对它们进行排序。我正在使用 Model::with() 来避免 n+1 问题。下面是代码:
$recentProjects = Project::with('visits','team')
->whereYear('created_at',now()->year)
->sortByDesc('created_at')->take(5)
->get();
但是,我得到了错误:
调用未定义的方法 Illuminate\Database\Eloquent\Builder::sortByDesc()
我尝试了不同的方法,比如 Project::orderBy() 后跟 with,但也没有锻炼。
【问题讨论】:
-
应该是
Project::orderBy('created_at', 'DESC') -
或
latest('created_at')->take(5)。