'Laravel Combine Multi Dimensional Array Based On Year Value
This one is my array want to combine based on year value
0 => array:3 [▼
"year" => 2022
"total_policies_financed" => 1
"total_amount_financed" => 280.0
]
1 => array:3 [▼
"year" => 2022
"total_policies_financed" => 2
"total_amount_financed" => 5190.0
]
2 => array:3 [▼
"year" => 2021
"total_policies_financed" => 2
"total_amount_financed" => 5190.0
]
need output like this
0 => array:3 [▼
"year" => 2022,
"total_count" => 2,
"total_policies_financed" => 3
"total_amount_financed" => 5470
]
1 => array:3 [▼
"year" => 2021,
"total_count" => 1,
"total_policies_financed" => 2
"total_amount_financed" => 5190.0
]
Solution 1:[1]
Try this:
$arr = collect($array)->groupBy('year')->map(function ($items, $key){
return [
'year' => $key,
'total_count' => $items->count(),
'total_policies_financed' => $items->sum('total_policies_financed'),
'total_amount_financed' => $items->sum('total_amount_financed'),
];
})->values();
dd($arr);
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Sona Khachatryan |
