Как рекурсивно обработать данные
Имеется данные в бд
Id Parent_id Name
1 0 Обувь
2 1 Мужская
3 1 Женская
4 1 Детская
5 4 Летняя/Зимняя
6 5 Кожаная/не кожаная/совсем не кожаная
7 6 Китайская/не китайская/японская
Как обработать такие данные что создать дерево например в том же JS или PHP? Хочу добиться вот такой вложенности:
Обувь--- Мужская
Женская
Детская
|
|----- Летняя/Зимняя
|
|---- Кожаная/не кожаная/совсем не кожаная
|
|--Китайская/не китайская/японская
Ответы (1 шт):
Автор решения: Павел Топский
→ Ссылка
Всем спасибо за помощь, пришел к таком решению
function build_tree(cats,parent_id, only_parent = false){
let tree = []
if(Array.isArray(cats) && cats[parent_id]){
if(!only_parent) {
cats[parent_id].map(function (cat, loli){
tree.push(<TreeItem nodeId={parent_id+'.'+cat['id']} label={cat['name']}>
{build_tree(cats, cat['id'])}
</TreeItem>);
})
}
}
return tree
}