Laravel combine multidimensional array based on year value
P粉193307465
P粉193307465 2024-02-17 21:06:08
0
1
349

This is the array I want to combine based on the 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 such output

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
  ]

P粉193307465
P粉193307465

reply all(1)
P粉633075725

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);
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template