2016-12-07 280 views
0

通过汇总价格排序的所有记录,我有这些模型:Laravel雄辩:从关系

Vendor (id, title) 
Service (id, vendor_id, type, price) 

关系:Vendor hasMany Service

,我需要选择所有的供应商,由服务的概要价格排列它们提供(与某些服务类型)

例如,下面是服务表样本数据:

1 | 1 | development | 10 
2 | 2 | development | 20 
3 | 1 | testing  | 20 
4 | 1 | testing  | 15 
5 | 1 | other  | 15 

随着雄辩,如何选择所有供应商(谁提供“开发”和“测试”服务),按所有服务价格总结排序?

回答

1
$vendor = Vendor::with(['services' => function($query) { 
    $query->whereIn('name', ['development', 'testing']) 
     ->orderBy('price'); 
}])->get(); 
+0

我知道这一切。但如何获得“summary_price”?没有这样的专栏,我需要在幕后做数学计算总结。是否有可能与雄辩或只有原始SQL是解决方案? –

+0

'汇总价格'是服务价格的总和吗? – jcorry

+0

是的,如何得到它?看到问题。我不需要按价格排序,我需要按每个供应商的所有服务的汇总价格进行排序。 –