Методы расчета суммы каждой группы в Laravel

Чтобы вычислить сумму каждой группы в Laravel, вы можете использовать различные методы в зависимости от структуры ваших данных. Вот несколько методов с примерами кода:

Метод 1: использование методов groupByи sum

$groups = YourModel::all()->groupBy('group');
$sums = [];
foreach ($groups as $group => $items) {
    $sums[$group] = $items->sum('value');
}
// $sums will contain the sum of each group

Метод 2: использование методов selectRawи groupByс необработанным SQL

$groups = YourModel::selectRaw('group, SUM(value) as sum')
    ->groupBy('group')
    ->get();
// $groups will contain the sum of each group as 'sum' attribute

Метод 3: использование методов mapToGroupsи sum

$groups = YourModel::all()->mapToGroups(function ($item) {
    return [$item['group'] => $item['value']];
});
$sums = $groups->map(function ($items, $group) {
    return [
        'group' => $group,
        'sum' => $items->sum(),
    ];
});
// $sums will contain the sum of each group with 'group' and 'sum' keys

Это всего лишь несколько примеров, и выбранный вами метод будет зависеть от вашего конкретного варианта использования и структуры данных.