我在两个模型之间有关联,如下所示:
对于联系人模型(在单独的文件中)
classMethods: {
associate: function (models){
Contact.belongsTo(models.User)
}
}
对于用户(在单独的文件中)
classMethods: {
associate: function (models){
User.hasMany(models.Contact, {onDelete: 'CASCADE'})
}
}
问题是当删除用户时,与用户相关的联系人没有删除任何关于我做错的建议会有帮助吗?
提前致谢
答案 0 :(得分:3)
我认为你需要反过来定义它。
Contact.belongsTo(models.Users, {
foreignKeyConstraint: true
, onDelete: 'cascade'
})
答案 1 :(得分:0)
将关联更新为
User.hasMany(models.Contact, { onDelete: 'cascade', hooks: true })
允许关联之间的钩子触发,以启用onDelete级联。改编自
sequelize docs:
但是,添加钩子:true明确告诉Sequelize 优化与您无关,它会在 关联对象并逐个销毁每个实例,以便成为 能够使用正确的参数调用挂钩。