2016-12-07 334 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

是的,如何得到它?看到問題。我不需要按價格排序,我需要按每個供應商的所有服務的彙總價格進行排序。 –