我的laravel 5.4应用程序中有一对多(反向)关系。有两个模型Sale
和Vehicle
与场景相关并关联。
Sale
模型的关系是:
public function vehicle()
{
return $this->belongsTo('App\Models\Vehicle','vehicle_id');
}
表sales
包含以下字段:
id
,vehicle_id
,date_time
,status
等。
表vehicles
包含以下字段:
id
,reg_number
,volume
,status
等。
我想要的是搜索条件中Sale
条记录的'vehicles.volume'字段的总和。
我尝试过以下方法:
$query = Sale::where('status', 1);
$query = $query->where('date_time', '<', "2017-05-10 10:10:05");
$totalVolume = $query->whereHas('vehicle')->sum('vehicles.volume');
导致以下错误:
SQLSTATE [42S22]:找不到列:1054未知列 'fields list'中的'vehicles.volume'(SQL:select 总和(
vehicles
。volume
)作为sales
的汇总,其中status
= 1 和date_time
&lt; “2017-05-10 10:10:05”并存在(从vehicles
中选择*sales
。vehicle_id
=vehicles
。id
))
希望使用雄辩的查询等待“获得销售量总和”的解决方案。
答案 0 :(得分:1)
在汇总name:/path/in/container
列
vehicles.volume
答案 1 :(得分:0)
select sum(volume) as aggregate from vehicles INNER JOIN sales ON vehicles.id=sales.vehicle_id