TypeORM 无关联关系的mysql多表连接查询

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TypeORM 无关联关系的mysql多表连接查询相关的知识,希望对你有一定的参考价值。

参考技术A   TypeORM 官方给的文档中,多表查询时使用的是通过实体关系进行leftjoin查询,我们知道TypeORM实体关系实际上是通过mysql的外键实现的。在实际开发中,外键因为有诸多限制不被推荐使用,大部分的都是无关系的表连接。经过几天的查找资料和摸索,找到了两种查询的方法,总结一下,如果大家有其他好的方法,欢迎留言讨论。

  这种方法使用getRawOne获取到sql查询后的原始数据,因为TypeORM会用别名,所以这里用select对字段进行了重命名,这个写法需要对每个需要的字段名进行重命名,否则返回的字段名称会带上表名。

  第二种方法使用leftJoinAndMapOne作字段映射,如果一对多可以使用leftJoinAndMapMany。这样就不用挨个对字段重命名,但是可能存在嵌套较深的问题。

  以上是常用的两种表连接的方法,每个都有其优缺点,可以根据情况选择使用。两外附上这两种方法的出处:
1、 https://juejin.cn/post/6916483483095449608
2、 https://www.cnblogs.com/zzk96/p/11397223.html

以上是关于TypeORM 无关联关系的mysql多表连接查询的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 基础 -- 多表关系(一对一1对多(多对一)多对多)多表查询(内连接外连接自连接子查询(嵌套查询)联合查询 union)笛卡儿积

MySQL多表查询(*)

MySQL多表查询(*)

mysql啥时候使用子查询,啥时候使用表连接查询,关系多张表的时候该怎么查询

134 MySQL多表查询

mysql 数据操作 多表查询 准备