请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

连表查询报错

报错内容
说是我的user表没有关联到blog表。

server error { SequelizeEagerLoadingError: user is not associated to blog!

关联代码

// 外键设置,博客是属于用户表的,多对一关系
Blog.belongsTo(User, {
  as: 'users',
  foreignKey: 'userId'
})

User.hasMany(Blog, {
  foreignKey: 'userId'
})

查询代码
图片描述

mysql里的外键
图片描述
我自己排查了一边

mysql里的外键是存在的,而且引用也是正确的,删除include查询blog没有问题。
而且在workbench上用sql语句连表查询也没有问题。只有使用sequelize连表查询报错,尝试了切换sequelize版本也没有解决问题。

正在回答

1回答

是不是改了 sequelize 的配置,没有同步数据库?

0 回复 有任何疑惑可以回复我~
  • 提问者 慕斯0315010 #1
    我也同步过模型数据,还是报错。 
    本地运行老师你的代码是可以的使用连表查询的
    回复 有任何疑惑可以回复我~ 2019-12-27 17:20:50
  • 双越 回复 提问者 慕斯0315010 #2
    那你可以对比一下和我的代码有啥区别,仔细找找,这种问题一般也就隐藏在一个很不起眼的地方。
    回复 有任何疑惑可以回复我~ 2019-12-27 18:19:03
  • 提问者 慕斯0315010 回复 双越 #3
    哇 的一声哭出来了,原来是我require的时候,没有使用模型的index.js入口文件,我的外键就是设置在这个文件里的。
    老师sequelize每次执行的时候都要重新执行配置文件?
    回复 有任何疑惑可以回复我~ 2019-12-27 20:47:58
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信