Есть таблица "param"
| id | param_id | value |
| 1 | 50 | Название 1 |
| 2 | 50 | Название 2 |
| 3 | 50 | Название 3 |
| 4 | 555 | Название 4 |
| 5 | 555 | Название 5 |
| 6 | 555 | Название 6 |
Команда
Param::find()->asArray()->all();
выводит
Array
(
[0] => Array
(
[id] => 1
[param_id] => 50
[value] => Название 1
)
[1] => Array
(
[id] => 2
[param_id] => 50
[value] => Название 2
)
[2] => Array
(
[id] => 3
[param_id] => 50
[value] => Название 3
)
[3] => Array
(
[id] => 4
[param_id] => 555
[value] => Название 4
)
[4] => Array
(
[id] => 5
[param_id] => 555
[value] => Название 5
)
[5] => Array
(
[id] => 6
[param_id] => 555
[value] => Название 6
)
)
Как мне сгруппировать массив по полю "param_id"? Чтобы на выходе получить массив
Array
(
[55] => Array
(
[0] => Array
(
[id] => 1
[param_id] => 50
[value] => Название 1
)
[1] => Array
(
[id] => 2
[param_id] => 50
[value] => Название 2
)
[2] => Array
(
[id] => 3
[param_id] => 50
[value] => Название 3
)
)
[555] => Array
(
[0] => Array
(
[id] => 4
[param_id] => 555
[value] => Название 4
)
[1] => Array
(
[id] => 5
[param_id] => 555
[value] => Название 5
)
[2] => Array
(
[id] => 6
[param_id] => 555
[value] => Название 6
)
)
)
Пробовал
Param::find()->groupBy('param_id')->asArray()->all();
не работает...
Можно конечно через foreach, но может есть другой способ?