gpt4 book ai didi

javascript - 如何使用 sequelize/mysql 删除特定实例的关系

转载 作者:可可西里 更新时间:2023-11-01 08:04:48 25 4
gpt4 key购买 nike

我在类(class)和用户之间创建了一个多对多的关联,如下所示:

Course.belongsToMany(User, { through: 'CourseUser'});
User.belongsToMany(Course, { through: 'CourseUser'});

它生成一个名为 CourseUser 的连接表。

我为特定类(class)和用户添加了一个关系,具有以下服务器端功能,点击按钮时发生: userCourse 变量如下所示:{ UserId: 7, CourseId: 13 }

  addUser: function(req, res) {
var userCourse = req.body;
db.CourseUser.create(userCourse).then(function () {
res.sendStatus(200);
});
}
  1. 这是在现有用户和现有类(class)之间添加关联的正确方法吗? (如果不是,正确的做法是什么)

  2. 我希望能够在单击另一个按钮时删除关联。但我不太清楚如何设置该功能。

最佳答案

  1. 如果您已经有一个 UserCourse 实例并且只是在 addUser 中关联它们,那么是的,这是正确的方法在它们之间建立关联。
  2. 您应该能够通过至少 4 种方式删除此关联:

1:通过User模型:

User.removeCourse(courseObject);

2:通过类(class)模型:

Course.removeUser(userObject);

3:在 CourseUser 模型上,没有可用的 CourseUser 实例:

db.CourseUser.destroy({
where: {...}
});

4: 有一个可用的 CourseUser 实例:

courseUser.destroy();

您可以在所有这些操作上绑定(bind) .then.catch 以在成功/出错时执行某些操作。

关于javascript - 如何使用 sequelize/mysql 删除特定实例的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34831639/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com