当前位置: 首页 > 知识库问答 >
问题:

TypeOrm查询生成器

闾丘永春
2023-03-14

我想不出如何使用TypeOrm查询生成器编写以下MySql语句

从farm.reg中选择reg.id,其中grpId=“abc”;

这个选择返回的只是ID的,但我的查询生成器返回的是整个对象。

现在,我在我的NestJs服务中有这个函数,但我需要使用'map',我不想…

 async getGrupIds(entity: string, grpId: string) {

        console.log(entity, grpId);
        const ids = await getRepository(reg)
        .createQueryBuilder(entity)
        .where('reg.grpId = :grpId', {grpId: grpId})
        .getMany();
        console.log(ids);
        return ids.map(o => o.id);

    }

谢谢

共有1个答案

解浩渺
2023-03-14

如果要选择实体的某些指定字段,请尝试使用getRawMany()而不是getMany():

//I suppose you have a *grpId* variable in your function 

const ids = await getRepository(Reg)
    .createQueryBuilder('reg')
    .select('reg.grpId', 'id')
    .where('reg.grpId = :grpId', { grpId } )
    .getRawMany();
    console.log(ids);
    return ids    
}

https://github.com/typeorm/typeorm/blob/master/docs/select-query-builder.md#Getting-values-using-querybuilder

 类似资料:
  • 问题内容: 基于使用子查询的typeORM文档,介绍了如何创建子查询。例子: 但是,对于SQL来说,这是等效的。 假设我有包含如下子查询的查询: 对于上面的SQL查询,我应该如何使用typeORM查询生成器功能? 假设我已经创建了与上面查询中使用的所有表相关的实体。 问题答案: 我希望这个答案可以帮助其他人使用TypeORM子查询。 我用来获取子查询的选择查询等效于 (选择f,t4.g,t5.e,

  • 我正在构建一个简单的元数据表,从查询中获取数据。我希望能够查询“type”变量的两个选项。然而| |不起作用;当我使用这个时,页面崩溃。

  • 我有表,当我添加新行时,我想计算一个id号。 条件: 如果我有缺失的数字,请给出最小的一个(3),如果我没有缺失的数字,请给出一行中的下一个数字(5) 如何将此条件构建到查询中? 我的查询: 桌子 如果我缺少id,则解决方案 如果我没有丢失的id,则解决方案

  • 有几种不同方法可以生成查询结果: 结果数组 结果行 自定义结果对象 结果辅助方法 Class Reference 结果数组 result() 方法 该方法以**对象数组**形式返回查询结果,如果查询失败返回**空数组**。 一般情况下,你会像下面这样在一个 foreach 循环中使用它: $query = $this->db->query("YOUR QUERY"); foreach ($que

  • 我试图从一个表中选择所有结果,并在用户ID匹配时与另一个表合并。 我有三个表:runs、users和一个run\u用户透视表。我想从数据透视表中的“运行”和其他列(即“已完成”、“粘性”、“上次测试”和“难度”)中选择所有结果,但只从当前用户的“运行用户”中提取数据。 在原始SQL中,我通过一个带有AND语句的左连接成功地做到了这一点: 如何通过查询生成器执行此操作,有何建议?我可以在Larave

  • 我有一个问题,使laravel查询: 我想举个例子: 我有这个但不起作用: