Я пытаюсь вложить свой объект в зависимости от значения parent
. Я хочу вложить массив в его родительский. Вот мой пример объекта:
$mainObject = [
{
id : 1,
title : 'title 1',
parent: 0,
},
{
id : 2,
title : 'title 2',
parent: 0
},
{
id : 3,
title : 'title 3',
parent: 1
},
{
id : 4,
title : 'title 4',
parent: 1
},
{
id : 5,
title : 'title 5',
parent: 4
},
{
id : 6,
title : 'title 6',
parent: 4
}
];
Теперь я хочу создать что-то вроде этого ниже
$mainObject = [
{
id : 1,
title : 'title 1',
parent: 0,
children: [
{
id : 3,
title : 'title 3',
parent: 1
},
{
id : 4,
title : 'title 4',
parent: 1,
children: [
{
id : 5,
title : 'title 5',
parent: 4
},
{
id : 6,
title : 'title 6',
parent: 4
}
]
},
]
},
{
id : 2,
title : 'title 2',
parent: 0
},
];
Мой foreach
$nested = [];
foreach ($mainObject as $v) {
if($v->parent == 0){
array_push($nested, $v);
}
}
Я пытался foreach
и сгруппировать их, но я не мог понять, как я могу добиться 3-уровневого гнезда, как указано выше. Пожалуйста, помогите мне, я был на складе в течение 2 ночей.
Обратите внимание, что $mainObject
является ответом от моего laravel app
. Вы можете поделиться JS решением или vue.