如何排序 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();
我需要 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();