本文介绍了TypeORM 选择列名的别名的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

限时删除!!

this.sampleRepo.find (
            {

                order: {
                    id: "DESC"
                },
                select: ['id','group']


            }

    );

这会按预期返回 id 和 group,但是如何将 id 作为 user_id 返回?以及如何从组中选择不同的值?

this returns the id and group as expected, but how to return id as user_id ?and also how to select distinct values from group?

推荐答案

只需在选择字符串中添加别名,例如:

Just add an alias in you select string, e.g.:

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


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


If the previous option didn't work, it should work in 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();
  }

这如您所愿 - 结果

这篇关于TypeORM 选择列名的别名的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

1403页,肝出来的..

09-08 19:58