2016-01-16 54 views
2

我創造了這樣的課程和用戶之間的許多一對多的關聯關係:如何刪除與sequ​​elize/MySQL的具體實例關係

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

產生所謂CourseUser連接表。

我添加具體的課程和用戶與一個按鈕的點擊發生在以下服務器端函數關係: 的userCourse變量看起來是這樣的:{用戶名:7,CourseId:13}

addUser: function(req, res) { 
    var userCourse = req.body; 
    db.CourseUser.create(userCourse).then(function() { 
     res.sendStatus(200); 
    }); 
    } 
  1. 這是添加現有用戶和現有課程之間關聯的正確方法嗎? (如果不是的話,什麼是正確的方法)

  2. 我想有一個能力,當點擊另一個按鈕時刪除關聯。但我無法弄清楚如何設置該功能。

+0

如果回答您的問題,請接受我的回答,或者在評論中告訴我哪些部分對您而言仍不清楚。 – leroydev

回答

3
  1. 如果你已經有了一個UserCourse實例,只是在addUser他們爲伍,那麼是的,這是他們之間建立關聯的正確途徑。
  2. 你應該能夠消除這種關聯在至少4種方式:

1:通過User型號:

User.removeCourse(courseObject); 

2:通過Course型號:

Course.removeUser(userObject); 

3 :在CourseUser模型上,沒有可用的CourseUser實例:

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

4:請準備一個CourseUser實例:

courseUser.destroy(); 

可以在所有這些操作綁定.then.catch做成功的東西/誤差。

相關問題