Групповые коллекции Laravel по суб-коллекциям

Я пытаюсь играть с Laravel коллекции

У меня есть этот массив (красноречивый результат с toArray()):

опция продукта -> опция -> тип опции -> группа типов

Array
(
[0] => Array
(
[id] => 1
[product_id] => 1
[productoption_id] => 1
[option] => Array
(
[id] => 1
[name] => OPTION 1
[productoptiontype_id] => 1
[type] => Array
(
[id] => 1
[name] => OPTION TYPE 1
[productoptiontypegroup_id] => 2
[group] => Array
(
[id] => 2
[name] => GROUP OPTION 2
)

)

)

)
[1] => Array
(
[id] => 2
[product_id] => 1
[productoption_id] => 2
[option] => Array
(
[id] => 2
[name] => OPTION 2
[productoptiontype_id] => 2
[type] => Array
(
[id] => 2
[productoptiontypegroup_id] => 2
[name] => OPTION TYPE 2
[group] => Array
(
[id] => 2
[name] => GROUP OPTION 2
)

)

)

)

[2] => Array
(
[id] => 3
[product_id] => 1
[productoption_id] => 3
[option] => Array
(
[id] => 3
[name] => OPTION 3
[productoptiontype_id] => 1
[type] => Array
(
[id] => 1
[name] => OPTION TYPE 1
[productoptiontypegroup_id] => 2
[group] => Array
(
[id] => 2
[name] => GROUP OPTION 2
)
)

)

)
)

[/ NOEDIT]

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

группа типов -> типы -> параметры

'group' [
'id' => 2
'name' => GROUP OPTION 2
'types' [ // type's array for this group
[
'id' => 1,
'name' => OPTION TYPE 1
'options' => [ // option's array for this type
[
'id' => 3
'name' => OPTION 3
'productoptiontype_id' => 1
],[
'id' => 1
'name' => OPTION 1
'productoptiontype_id' => 1
]
]
],[
'id' => 2,
'name' => OPTION TYPE 2
'options' => [ // option's array for this type
[
'id' => 2
'name' => OPTION 2
'productoptiontype_id' => 2
]
]
]
]
],[
other group...
]

[/ NOEDIT]

Есть ли способ сделать это с коллекциями Laravel? (Я могу сделать это с помощью foreach и нового массива ...)

Спасибо

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет ...

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector