如何在TypeORM queryBuilder中显示生成的SQL/原始SQL [英] How to show generated SQL / raw SQL in TypeORM queryBuilder

查看:23
本文介绍了如何在TypeORM queryBuilder中显示生成的SQL/原始SQL的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我开发了typeormquerybuilder。出于调试目的,我想显示生成的SQL查询。

我测试了printSql()方法,但它没有显示任何SQL查询。

const Result = await this.attendanceRepository
  .createQueryBuilder("attendance")
  .innerJoin("attendance.child", "child")
  .select(["attendance.childId","child.class","CONCAT(child.firstName, child.lastName)"])
  .where("attendance.id= :id", { id: id })
  .printSql()
  .getOne()

console.log(Result);

它返回以下内容:

Attendance { childId: 4, child: Child { class: 'S' } }

我想要的结果是获得生成的SQL查询。

有什么错误的地方吗?有什么好方法可以获取SQL查询吗?

推荐答案

.getQuery().getSql()

const sql1 = await this.attendanceRepository
    .createQueryBuilder("attendance")
    .innerJoin("attendance.child", "child")
    .select(["attendance.childId","child.class","CONCAT(child.firstName, child.lastName)"])
    .where("attendance.id= :id", { id: id})
    .getQuery();
    console.log(sql1);
const sql2 = await this.attendanceRepository
    .createQueryBuilder("attendance")
    .innerJoin("attendance.child", "child")
    .select(["attendance.childId","child.class","CONCAT(child.firstName, child.lastName)"])
    .where("attendance.id= :id", { id: id})
    .getSql();
    console.log(sql2);    

这篇关于如何在TypeORM queryBuilder中显示生成的SQL/原始SQL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆