我有一个包含 User 和 Order 模型的 Laravel 项目。用户模型与排序模型相关,如下所示:
public function last_order() {
return $this->hasOne('Order', 'user_id')->orderBy('created_at', 'desc')->limit(1);
}
这将返回特定用户的最后一个订单。它工作正常。
我还需要从最新的订单返回排序的用户数组。我尝试在存储库层上使用 Eloquent 来做到这一点,如下所示:
User::has('last_order')->with('last_order')->orderBy('last_order.created_at', 'desc')->get();
它不起作用。我也尝试了 sortBy 方法,结果相同。它返回给我,last_order 表不存在。
您能否建议我,如何使用 Eloquent(不在服务层,并且没有原始选择)轻松地对这样的一些进行排序?
谢谢你。