How do i transform an Array like this into a multidimensional Array in livecode? I have about 20 Toplevel categories with nested categories as described below. The nesting can be up to 6 levels deep.
Starting array as result of database query
Array
(
[1] => Array
(
[id] => 10
[parent_id] => 0
[name] => Hitachi
)
[2] => Array
(
[id] => 15
[parent_id] => 0
[name] => Milwaukee
)
[3] => Array
(
[id] => 20
[parent_id] => 0
[name] => Thoshiba
)
[4] => Array
(
[id] => 31
[parent_id] => 10
[name] => tools
)
[5] => Array
(
[id] => 32
[parent_id] => 10
[name] => Spareparts Hitachi
)
[6] => Array
(
[id] => 35
[parent_id] => 32
[name] => electric parts
)
[7] => Array
(
[id] => 37_
[parent_id] => 32
[name] => hydraulic Parts
)
[8] => Array
(
[id] => 40_
[parent_id] => 32
[name] => other Parts
)
[9] => Array
(
[id] => 43_
[parent_id] => 32
[name] => more Parts
)
[10] => Array
(
[id] => 45_
[parent_id] => 15
[name] => Spareparts Milwaukee
)
........
)
My goal is to get an nested Array like this:
Array
(
[1] => Array
(
[id] => 10
[parent_id] => 0
[name] => Hitachi
[children] => Array
(
[id] => 31
[parent_id] => 10
[name] => tools
)
(
[id] => 32
[parent_id] => 10
[name] => Spareparts Hitachi
[children] => Array
(
[id] => 35
[parent_id] => 32
[name] => electric parts
)
(
[id] => 37_
[parent_id] => 32
[name] => hydraulic Parts
)
(
[id] => 40_
[parent_id] => 32
[name] => other Parts
)
)
[2] => Array
(
[id] => 15
[parent_id] => 0
[name] => Milwaukee
[children] =>
(
[id] => 45_
[parent_id] => 15
[name] => Spareparts Milwaukee
)
)
[3] => Array
(
[id] => 20
[parent_id] => 0
[name] => Thoshiba
)
)
The end result should be to build a categorie tree as found in online shops to select a nested categorie and display the products of the selected cat. For building the tree i would like to use rtree from tapirsoft.