Для хранения структуры страниц использую модель nested sets. Данные для примера:
id, parent_id, level, lkey, rkey, name
1, 0, 1, 1, 14, index
2, 1, 2, 2, 7, info
3, 1, 2, 8, 13, test
4, 2, 3, 3, 4, about
5, 2, 3, 5, 6, help
6, 3, 3, 9, 10, test1
7, 3, 3, 11, 12, test2
Получаю ветку таким запросом (SQL::Abstract, $db->query($sql)->hashes()):
SELECT id, parent_id, level, lkey, rkey, name
FROM pages
WHERE lkey > $lkey AND
rkey < $rkey
ORDER BY rkey
Не могу сообразить, как из полученного хеша получить структуру для jsTree т.е. примерно такую:
[
{
data: 'index',
children: [
{
data: 'info',
children: [
{
data: 'about'
},
{
data: 'help',
}
]
},
{
data: 'test',
children: [
{
data: 'test1'
},
{
data: 'test2'
}
]
}
]
}
]
Второй день туплю с этими деревьями :(