Heim  >  Fragen und Antworten  >  Hauptteil

Laravel kombiniert mehrdimensionale Arrays basierend auf dem Jahreswert

Dies ist das Array, das ich basierend auf Jahreswerten kombinieren möchte

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
  ]

Benötige eine solche Ausgabe

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 Tage vor318

Antworte allen(1)Ich werde antworten

  • P粉633075725

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

    试试这个:

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

    Antwort
    0
  • StornierenAntwort