一对多查询问题

来源:7-2 创建数据模型(下)

慕田峪3925125

2020-07-14

这里对老师的课程做了拓展。因为发微博。更多情况是一个微博对应多张图片。所以我创建了两个模型 tb_blog:微博表 tb_blog_files:图片表, 一对多。如图:图片描述
然后查询代码如图:图片描述
但是这样查询出得结果集有问题。只会查出发了图片的微博,只发文字的微博将不会出现在结果集里。也就是是说。可以查询出 一对一 和 一对多的结果集。但是一对0查询不出来。请问老师这是什么问题。

写回答

2回答

双越

2020-07-14

搜一下“sequelize innerjoin leftjoin rightjoin”相关的资料,应该是这个 join 类型的问题。

0
1
慕田峪3925125
非常感谢!
2020-07-14
共1条回复

慕田峪3925125

提问者

2020-07-14

问题解决了。在这里回答一下。以帮助遇到同样问题的同学。

include:如果后面有where条件。sequelize会默认添加一行required: true的代码。这样连接会变成inner join。所以只需要改成。如图//img.mukewang.com/szimg/5f0d67f60858030607500412.jpg

这样连接方式就会变成 left outer join。

githib issue地址:https://github.com/sequelize/sequelize/issues/4019

1
1
双越
感谢你的答复,加油!
2020-07-14
共1条回复

Node.js+Koa2框架生态实战 - 从零模拟新浪微博

用 Koa2 做真正的实战项目,不再只是增删改查的小白工程师

964 学习 · 388 问题

查看课程