Laravel группа сбора по имени категории - PullRequest
0 голосов
/ 21 февраля 2020

Допустим, у меня есть коллекция фруктов объектов, каждый из которых имеет общее имя цвета.

Я хочу сделать так, чтобы фрукты были сгруппированы по названию цвета, например

Red
Red
Red
Green
Green
Red
Green

Becomes

Red
 Apple
 Strawberry 
 Cherry
 Cranberry

Green
  Grape
  Watermelon
  Pear

  $all_fruits->map(function ($item, $key) {

        });

Все помощь очень ценится.

Ответы [ 2 ]

0 голосов
/ 21 февраля 2020
$collected = $fruits->mapToGroups(function ($item, $key) {
                return
                    [$item->fruitColor => $item->toArray()];
        });
0 голосов
/ 21 февраля 2020

Вы можете просто использовать функцию groupBy :

$allFruits->groupBy(function ($item) {
    // Or $item->color_name;
    return $item['color_name'];
});
...