Laravel - Groupby и объединить другой столбец - PullRequest
0 голосов
/ 29 июня 2018

enter image description here

У меня есть такая коллекция, когда я выполняю groupBy('name'), она возвращается как эта

enter image description here

У меня вопрос, как объединить ключ "id_area" при выполнении groupBy('name')? ожидаемый результат больше похож на это

"name" => "A"
"id_area" => [3, 1]

мой красноречивый код

$x = Kegiatan::orderBy('name')->groupBy('name')->get();

$y = $x->map(function ($group) {
   return ["name" => $group->name, "id_area" => $group->id_area];
});

dd($y);

1 Ответ

0 голосов
/ 29 июня 2018

Не используйте groupBy() метод вашего построителя запросов, вместо этого просто получите ваши данные и затем используйте groupBy() метод Illuminate\Support\Collection класса

$collection = Kegiatan::orderBy('name')->get();
$grouped = $collection->groupBy('name');
$grouped->toArray();

Использование groupBy() в построителе запросов группирует записи по запросу к базе данных, а использование groupBy() коллекции группирует записи после выборки данных по запросу

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...