Level 73
Here is my tinkering :)
$data = collect([
[
"start" => "2022-01-01 14:45:00",
"end" => "2022-01-01 15:00:00",
"attendees" => 2,
],
[
"start" => "2022-01-01 14:45:00",
"end" => "2022-01-01 15:00:00",
"attendees" => 2,
],
[
"start" => "2022-01-01 15:00:00",
"end" => "2022-01-01 15:15:00",
"attendees" => 2,
],
[
"start" => "2022-01-01 15:15:00",
"end" => "2022-01-01 15:30:00",
"attendees" => 2,
],
[
"start" => "2022-01-01 15:30:00",
"end" => "2022-01-01 15:45:00",
"attendees" => 2,
],
[
"start" => "2022-01-01 15:45:00",
"end" => "2022-01-01 16:00:00",
"attendees" => 2,
],
])->groupBy('start')->map(function($group) {
return [
'start' => $group[0]['start'],
'end' => $group[0]['end'],
'attendees' => $group->sum('attendees'),
];
})->values();
1 like