簡體   English   中英

Sum 記錄來自嵌套關系的值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM