sequelize 创建多对多关系报错?

发布于 2022-09-11 15:42:21 字数 500 浏览 16 评论 0

定义关联关系:

 Theme.belongsToMany(Product,{through:theme_product,foreignKey:'theme_id'})
 Product.belongsToMany(Theme,{through:theme_product,foreignKey:'product_id'})

theme_product为中间表

报错信息:

 throw new Error(this.name + '.belongsToMany called with something that\'snot a subclass of Sequelize.Model');
      ^

Error: Theme.belongsToMany called with something that's not a subclass of Sequelize.Model

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

放手` 2022-09-18 15:42:22

我是通过这样的方式实现的,不知道对你有没有帮助。
Wordbook为word(单词表)和book(教材表)的关系表
Wordbook.belongsTo(WordModel, {
foreignKey: "wordid",
constraints: false,
});
// BelongsTo关联表示一对多关系的外键存在于源模型。
Wordbook.belongsTo(BookModel, {
foreignKey: "bookid",
constraints: false,
});

七秒鱼° 2022-09-18 15:42:22

你好 我也碰到了这个报错,你是怎么解决的,能详细贴出你的代码 分享下吗?

北斗星光 2022-09-18 15:42:21

问题已经解决,两个模型并不在同一个sequelize实例下。
参考该项目:https://segmentfault.com/a/11...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文