【问题标题】:How to get data sorted with relation using TypeORM?如何使用 TypeORM 对数据进行关系排序?
【发布时间】:2021-12-01 17:14:46
【问题描述】:

我想对关系进行排序的用户数据,但是使用此代码它只是对用户进行排序,但我想对与我正在使用的用户有关系的数据进行排序,有人可以帮助我吗?

getUerWithId(pramas: string): Observable<userEntity[]> {
        return from(this.userRepository.find({
            where: [
                { id: pramas }
            ],
            order:{
                 id:'DESC'
            }
        }))
    }

【问题讨论】:

  • 你能指定你想要排序的关系吗?也许你只是把“用户”作为一个关系,然后从你的关系表中选择。
  • 用户实体与通知实体有关系,通常当我获取用户数据时,我会通过通知数据获取它,因为我使用的是渴望关系,我想对通知进行排序
  • 急切的关系,我不知道有什么解决办法,但你可以试试贴的例子。
  • 如果结果不是太多,可以在得到关系后用"array.sort()"对结果进行排序。

标签: postgresql nestjs typeorm


【解决方案1】:

使用存储库,我不知道是否可能,但您可以尝试使用查询生成器来获取有序关系。请遵循以下示例:

this.userRepository.createQueryBuilder()
      .innerJoinAndSelect("User.notification", "Notification") 
      .orderBy({'Notification.createdAt': 'DESC'})
      .where("User.id = :id", {
        id: Number(id),
      })
      .getOne();

请记住为您的实体设置正确的关系,并为您的属性设置正确的名称。

【讨论】:

  • 是的,谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-12
  • 1970-01-01
  • 2022-09-23
  • 1970-01-01
  • 2021-01-07
相关资源
最近更新 更多