Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function userrow_to_table(row)
- return {
- user_id = user_id,
- parent_id = user[2],
- tb_left = user[4],
- tb_right = user[5],
- children = {},
- }
- end
- function get_user_with_tree(user_id)
- local userrow = users.index.primary:get(user_id)
- local rootuser = userrow_to_table(userrow)
- local stack = {rootuser}
- while #stack > 0 do
- local user = table.remove(stack)
- local items = users.index.parent_id:select(user.user_id)
- for i, childrow in ipairs(items) do
- local child = userrow_to_table(childrow)
- user.children[i] = child
- table.insert(stack, child)
- end
- end
- return rootuser
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement