Node.js TypeForm中嵌套实体的排序问题

Node.js TypeForm中嵌套实体的排序问题,node.js,nestjs,typeorm,Node.js,Nestjs,Typeorm,我有一个名为Category的自引用实体。基本上,它只是一个可能包含子文件夹的文件夹,但子文件夹不能包含任何其他文件夹。就这么简单。用户可以通过这种方式移动这些文件夹,从而改变它们之间的相对位置。在Category实体中,我有一个名为position的道具,当我返回特定用户的所有类别时,我需要按位置排序。也就是说,查询应该如下所示: const categories = await this.categoryRepository.createQueryBuilder('category')

我有一个名为
Category
的自引用实体。基本上,它只是一个可能包含子文件夹的文件夹,但子文件夹不能包含任何其他文件夹。就这么简单。用户可以通过这种方式移动这些文件夹,从而改变它们之间的相对位置。在
Category
实体中,我有一个名为
position
的道具,当我返回特定用户的所有类别时,我需要按位置排序。也就是说,查询应该如下所示:

const categories = await this.categoryRepository.createQueryBuilder('category')
                                                .where('category.user.id = :userId', { userId })
                                                .leftJoinAndSelect('category.entries', 'catEntries')
                                                .leftJoinAndSelect('catEntries.images', 'catImages')
                                                .leftJoinAndSelect('category.subcategories', 'subs')
                                                .leftJoinAndSelect('subs.entries', 'subCatEntries')
                                                .leftJoinAndSelect('subCatEntries.images', 'subCatImages')
                                                .orderBy('category.position', 'ASC')
                                                .getMany();
这段代码的问题在于排序不适用于子类别。 因此,我的问题是“如何编写一个不仅对类别而且对子类别进行排序的查询?”


多谢各位

尝试添加一个
addOrderBy('subs.SORT','ASC')
,其中
SORT
是要对subs进行排序的属性(
position
?)


注意
OrderBy()
addOrderBy()
之间的区别。前者覆盖前面的子句,后者允许您添加多个order by子句。

尝试添加一个
addOrderBy('subs.SORT','ASC')
,其中
SORT
是您要对subs进行排序的属性(
position
?)


注意
OrderBy()
addOrderBy()
之间的区别。前者优先于前一个,后者允许您添加多个order by子句。

我刚刚试着按照您所说的做,效果非常好。是的,我试着在一个
OrderBy
内完成,但实际上没有成功,我显然忘记了可以链接
OrderBy
。非常感谢你为我节省了很多时间!:)很高兴能帮忙!干杯我刚试着照你说的做,效果很好。是的,我试着在一个
OrderBy
内完成,但实际上没有成功,我显然忘记了可以链接
OrderBy
。非常感谢你为我节省了很多时间!:)很高兴能帮忙!干杯