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

javascript - typeorm关联查询某个数据项的total应该怎么写?

苗学民
2023-10-23
const user = this.userRepository      .createQueryBuilder('user')      .leftJoin('user.tel', 'tel')      .addSelect('COUNT(DISTINCT tel.id)', 'totalTel')      .groupBy('user.id')      .getOne();    return user;

一个user有多个tel,是一对多的关系,现在我需要查询某个user,并且关联出tel的数量,上面的写法,user没有totalTel字段。

{    id:1,    userName: 'aaa'}

而改成getRawOne就有totalTel字段,但是其他字段都是数据库定义的下划线,而非驼峰的形式。

{    id:1,    user_name: 'aaa',    totalTel: 1,}

getOne应该怎么增加totalTel字段。

共有1个答案

楚冷勋
2023-10-23
async findOneWithTelCount(userId: number): Promise<any> {  const rawData = await this.userRepository    .createQueryBuilder('user')    .leftJoin('user.tel', 'tel')    .select([      'user.id AS id',      'user.userName AS userName',      'COUNT(DISTINCT tel.id) AS totalTel'    ])    .where('user.id = :userId', { userId })  // 如果你有过滤条件,比如获取特定的 user    .groupBy('user.id')    .getRawOne();  if (!rawData) return null;  return {    id: rawData.id,    userName: rawData.userName,    totalTel: +rawData.totalTel  };}
 类似资料:
  • 一个user有多个tel,是一对多的关系,现在我只需要查最新的一条即可,没必要把tel全查出来,应该怎么写?

  • 我有一个使用TypeORM包与Postgres SQL交互的nestjs应用程序。 我有下面的代码, 对于键和用户实体,我需要将内部连接创建为 选择*FROM key INNER JOIN user ON key.id=user.“keyid”,其中user.“userid”=1; 如何使用typeorm编写等效的内部联接查询? 如何使用typeorm执行上面的SQL查询?

  • 下面结构的数据记录,如何写 mongodb的 查询呢 查询 meta 下各字段的 timestampOccur,符合指定日期范围内的记录

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

  • 简介 Cabal-DB 的关联数据查询主要用了两个方法:->has('table') 和->belongs('table'), 因为其实数据库关联关系只有两种,一种是拥有(has)另一种是属于(belongs),如: 用户拥有更多个文章 文章拥有多个标签 文章属于一个用户 文章标签关联记录属于一个标签和一篇文章 语法 拥有关系查询语法: $row->has($name, $foreignKeyOr

  • 本文向大家介绍模糊查询 like 语句该怎么写?相关面试题,主要包含被问及模糊查询 like 语句该怎么写?时的应答技巧和注意事项,需要的朋友参考一下 第 1 种:在 Java 代码中添加 sql 通配符。 第 2 种:在 sql 语句中拼接通配符,会引起 sql 注入