Rumah  >  Soal Jawab  >  teks badan

Laravel menggabungkan tatasusunan berbilang dimensi berdasarkan nilai tahun

Ini adalah array yang saya ingin gabungkan berdasarkan nilai tahun

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
  ]

Memerlukan output sebegitu

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粉193307465P粉193307465244 hari yang lalu317

membalas semua(1)saya akan balas

  • P粉633075725

    P粉6330757252024-02-18 18:25:28

    Cuba ini:

    $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);

    balas
    0
  • Batalbalas