Recursion bookshelf.js递归查询加排序

Recursion bookshelf.js递归查询加排序,recursion,knex.js,bookshelf.js,Recursion,Knex.js,Bookshelf.js,我发现了一个递归树获取的示例,但排序不起作用。通过在每个级别排序递归获取所有项的最佳方法是什么 模型 递归的,但只有在一定程度上,所有的都是首选的,而不是指定深度。这可以工作,但不能正确订购相关项目 编辑 我用一个适用于SQLite的递归查询来更新它(注意,我使用id进行排序,因为我的列名选择不正确)。解决方案可能是使用bookshelf进行crud操作,并使用原始查询填充我需要的对象 with recursive tc( i ) as ( select id FROM items WHERE

我发现了一个递归树获取的示例,但排序不起作用。通过在每个级别排序递归获取所有项的最佳方法是什么

模型

递归的,但只有在一定程度上,所有的都是首选的,而不是指定深度。这可以工作,但不能正确订购相关项目

编辑

我用一个适用于SQLite的递归查询来更新它(注意,我使用id进行排序,因为我的列名选择不正确)。解决方案可能是使用bookshelf进行crud操作,并使用原始查询填充我需要的对象

with recursive tc( i )
as ( select id FROM items WHERE parent IS NULL
     UNION SELECT id FROM items, tc WHERE items.parent = tc.i ORDER BY id
)
select * FROM items WHERE id IN tc;
Item.query({where: {parent: null}, orderBy: 'id'})
  .fetchAll(
    {
      withRelated: ['items.items.items.items.items'],
      orderBy: 'id'
    });
with recursive tc( i )
as ( select id FROM items WHERE parent IS NULL
     UNION SELECT id FROM items, tc WHERE items.parent = tc.i ORDER BY id
)
select * FROM items WHERE id IN tc;