Collections also provide support for "higher order messages", which are short-cuts for performing common actions on collections. This example calculates the price per group of products on an offer.
$offer = [ 'name' => 'offer1', 'lines' => [ ['group' => 1, 'price' => 10], ['group' => 1, 'price' => 20], ['group' => 2, 'price' => 30], ['group' => 2, 'price' => 40], ['group' => 3, 'price' => 50], ['group' => 3, 'price' => 60] ]]; $totalPerGroup = collect($offer['lines'])->groupBy->group->map->sum('price');
Enjoyed This Tip?
Get access to all premium tutorials, video and text courses, and exclusive Laravel resources. Join our community of 10,000+ developers.
Recent Courses
Laravel 13 Eloquent: Expert Level
41 lessons
1 h 34 min
[NEW] Laravel AI SDK: 6 Practical Examples
9 lessons
1 h 02 min
Livewire v3 to v4: Changes You Need to Know
7 lessons
31 min