前提・実現したいこと
Laravel の 2つのCollection を 一つにまとめたいです。
コード上2つのCollectionがあります。
// Collection A Collection {#1005 ▼ #items: array:1 [▼ "price" => 300.0 ] } // Collection B Collection {#1005 ▼ #items: array:1 [▼ "price" => 1200.0 ] }
この二つのCollectionをキーで合計して、一つのCollectionにしたいです。
union や merge を使っても、うまく合計値になりません。
やり方が違うのか知見をお借りしたいです。
該当のソースコード①
// DBから生成 ['price' => 300] の Collection $collection_a = (コード割愛。pluck、mapWithKeysを使用); // 手動で生成 ['price' => 1200] の Collection $collection_b = collect(['price' => 1200]); // unionで合計する $collection_c = $collection_a->union($collection_b); // 結果 Collection {#1005 ▼ #items: array:1 [▼ "price" => 300.0 // 1500.00にならない ] }
該当のソースコード②
// DBから生成 ['price' => 300] の Collection $collection_a = (コード割愛。pluck、mapWithKeysを使用); // 手動で生成 ['price' => 1200] の Collection $collection_b = collect(['price' => 1200]); // mergeで合計する $collection_c = $collection_a->merge($collection_b); // 結果 Collection {#1005 ▼ #items: array:1 [▼ "price" => 1200.0 // 1500.00にならない ] }
補足情報(FW/ツールのバージョンなど)
PHP 7.3
Laravel 5.6
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/28 07:51