Я пытаюсь играть с Laravel коллекции
У меня есть этот массив (красноречивый результат с toArray()
):
опция продукта -> опция -> тип опции -> группа типов
[/ NOEDIT]
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... ]
Есть ли способ сделать это с коллекциями Laravel? (Я могу сделать это с помощью foreach и нового массива ...)
Спасибо
Задача ещё не решена.
Других решений пока нет ...