[英]Sum records values from nested relations
我有 4 張桌子,里面有成套的配件:
Accessories
id name price
1 accessory1 43
2 accessory2 31
3 accessory3 13
4 accessory4 9
AccessoriesKit (table store relation between Accessories and KitMain)
id id_accessories id_accessories_kit_main
1 1 1
2 2 1
3 3 2
4 4 2
AccessoriesKitMain
id name
1 kit1
2 kit2
AccessoriesKitMainRelatedToProduct (table store relation between Product with their all accessories kits)
id id_accessories_kit_main id_product
1 1 2
2 2 1
我的問題是什么 - 我通過產品 ID 獲得與產品相關的配件套件,我需要將包含在主要套件中的每個配件的價格求和並在視圖中顯示。
我就是這樣取配件的——
$accessories = AccessoriesKitMainRelatedToProduct ::where('id_product', '=', $products[0]['id'])
->with('accessorieskitmain', 'accessorieskitmain.accessorieskit', 'accessorieskitmain.accessorieskit.accessories')->get()->toArray();
如何總結價格並將其分組到相關套件?
編輯
我在我的控制器中獲取數組 - $accessories of Accessories 並將其傳遞給我的模板,在那里我在 foreach 中循環它:
@foreach($accessories as $accessory)
@foreach($accessory['accessories_kit_main'] as $kitMain)
<div class="accessory-title">
<h2>{{$kitMain['name']}}</h2>
</div>
@foreach($kitMain['accessories_kit'] as $kit)
@foreach($kit['accessories'] as $singleAccessories)
<div>
<h2> {{$singleAccessories['name']}}</h2>
<h2> {{$singleAccessories['price']}}</h2>
</div>
@endforeach
@endforeach
!! AND HERE I NEED TO PUT SUMMED UP PRICES !!
@endforeach
@endforeach
$accessories = AccessoriesKitMainRelatedToProduct::where('id_product', '=', $products[0]['id'])
->with(['accessorieskitmain',
'accessorieskitmain.accessorieskit',
'accessorieskitmain.accessorieskit.accessories' => function($query){
$query->sum('price');
}])
->get()->toArray();
希望這對你有用!!!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.