如何排序 laravel 中的关系?

How to order relationships in laravel?

我需要 Laravel 5.4 方面的帮助。

我有 2 个表:origins 和 coffees。

一个产地可以有很多咖啡。

在我的控制器中我有这个:

$origins = Origin::with('coffee')->get();

是否可以按原产地名称和咖啡名称对结果进行排序,两者都使用 Eloquent 升序排列,还是我需要使用查询生成器?

类似于:

select coffees.name, origins.name
from coffees
join origins
on coffees.origin_id = origins.id
order by origins.name asc, coffees.name asc

如果这给了你想要的结果,你能试试吗:

$origins = Origin::with(['coffee' => function ($query) {
    $query->orderBy('name', 'asc');
}])->orderBy('name', 'asc')->get();