recherche

Maison  >  Questions et réponses  >  le corps du texte

Laravel combine un tableau multidimensionnel basé sur la valeur de l'année

C'est le tableau que je souhaite combiner en fonction des valeurs de l'année

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
  ]

Besoin d'une telle sortie

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粉193307465309 Il y a quelques jours374

répondre à tous(1)je répondrai

  • P粉633075725

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

    Essayez ceci :

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

    répondre
    0
  • Annulerrépondre