繁体   English   中英

TypeORM select 列名别名

[英]TypeORM select alias of column name

this.sampleRepo.find (
            {
                
                order: {
                    id: "DESC"
                },
                select: ['id','group']
                
                
            }

    );

这会按预期返回 id 和 group,但是如何将 id 作为 user_id 返回? 以及如何从组中区分 select 值?

只需在 select 字符串中添加一个别名,例如:

select: ['id AS user_id','group AS user_group']

如果上一个选项不起作用,它应该在 queryBuilder 中起作用:

this.sampleRepo
      .createQueryBuilder('user')
      .orderBy('user.id', 'DESC')
      .select(['id AS user_id','group AS user_group'])
      .getRawMany() // or .getMany()


我已经用我的一个例子(这里的最后一个)做了你需要的东西,但是写了这个(更新。用 getRawMany 和 distinct 修复)

getMany(): Promise<UserEntity[]> {
    return this.userRepo.createQueryBuilder('user')
      .where({ username: 'breckhouse0' })
      .select(['DISTINCT (user.username) AS user_name', 'user.id AS user_id'])
      .getRawMany();
  }

这正如你所料 - 结果

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM