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)笛卡儿积