【发布时间】:2021-11-17 15:54:11
【问题描述】:
我有两个模型,其关系定义如下
订购
public function owner()
{
return $this->belongsTo(User::class, 'owner_id');
}
用户
public function company(){
return $this->belongsTo(Company::class, 'company_id');
}
公司表有“标题”字段。 我想要的是按公司名称对所有订单进行排序/排序。我尝试了不同的解决方案,但似乎没有任何效果。任何帮助或提示将不胜感激。
我最近尝试的解决方案是
$query = OrderModel::whereHas('owner', function($q) use ($request){
// $q->orderBy('owner');
$q->whereHas('company',function ($q2) use ($request){
$q2->orderBy('title',$request->get('orderByDirection') ?? 'asc');
});
});
但我没有在查询结果中获得用户和公司的关系。 'ASC' 和 'DESC' 顺序的结果也保持不变。
【问题讨论】:
标签: laravel eloquent laravel-query-builder laravel-nova eloquent-relationship