所以我有三个模型:
书,评论和用户。我希望这样的关联:
用户有很多评论
书有很多评论
这样做:
Book.hasMany(Review);
Review.belongsTo(Book);
User.hasMany(Review);
Review.belongsTo(User);
不起作用,它给出此错误: 在模型审查中属性“用户”和关联“用户”之间的命名冲突。要解决此问题,请更改foreignKey或更改关联定义中的值
我该怎么办?或者在哪里可以读到?进一步谢谢你!
答案 0 :(得分:1)
首先,您应该有一个模型实例,然后使用类似下面的代码:
Review.associate = (models) => {
models.Review.belongsTo(models.Book, {
foreignKey: 'bookId',
targetKey: 'id'
})
}
您可以添加与该代码类似的内容
答案 1 :(得分:1)
您只需在模型查看中为用户的外键指定别名,如下所示:
Review.belongsTo(User, {foreignKey: 'owner_user_id'});
在关联的sequelize文档页面中都提到了这些: http://docs.sequelizejs.com/manual/associations.html