在Sequelize ORM http://docs.sequelizejs.com/的文档中,正如我们从Java的Hibernate或PHP的学说中所知,我看不到任何模型之间的双向关联引用。
那么,Sequelize不支持双向关联吗?
答案 0 :(得分:1)
这取决于您开箱即用的意思。
通过在每个模型上定义两个单一关联,可以实现Sequelize中的双向关联。据我所知,没有其他办法。例如我们有一个用户模型和一个后期模型。 Post模型持有来自名为UserId的用户的外键,这是一对多的关联。要双向实现此目标,您应该在用户模型以及以下发布模型上添加关联。
User.associate = function(models) {
models.User.hasMany(models.Post, {
foreignKey:"UserId"
})
}
Post.associate = function(models) {
models.Post.belongsTo(models.User, {
foreignKey:"UserId"
})
}
类似的方法适用于任何类型的关联类型。我知道这似乎不是最方便的事情。