【问题标题】:Not return nested objects不返回嵌套对象
【发布时间】:2021-03-25 17:47:21
【问题描述】:

我的 typeorm 有问题,我不知道 queryBuilder 如下:

        const projects = await this.conn.getRepository(UserProjectRelations).createQueryBuilder("userProject")
            .innerJoin("userProject.userId", "user", "user.id = :userId", { userId: currentUser.id })
            .leftJoinAndSelect("userProject.projectId", "project")
          

        return await projects.getRawOne();

为什么这个查询会返回这个数据:

RowDataPacket {
  userProject_id: 67,
  userProject_status: 'Owner',
  userProject_lastUpdate: 2021-03-24T21:13:32.000Z,
  project_id: 21,
  project_name: 'nest',
  project_appName: 'Test123!',
  project_createdAt: 2021-03-24T20:47:40.000Z,
  project_shortDescription: null,
}

而不是这个:

{
    userProject: {
      "id":67,
      "status":"Owner",
      "lastUpdate":"..."
    },
    project: {
      "name":"test",
      "appName":"Test123!",
      "createdAt": "..."
    }
}

我需要返回嵌套对象而不是使用别名,有人可以告诉我如何使用queryBuilder 来做到这一点吗?

感谢您的帮助!

【问题讨论】:

    标签: javascript sql typescript orm typeorm


    【解决方案1】:

    你必须使用getOne 而不是getRawOne。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多