我有項目和用戶。如何使用Sequelize belongsToMany關聯?
用戶可以有許多項目。
一個項目可以有多個用戶。
我試圖用belongsToMany關聯來建模。
在我的服務器我定義這樣的關聯:
user.belongsToMany(project, {
through: 'writer_of_project'
foreign-key: 'user'
as: \projects
});
project.bbelongsToMany(user, {
through: 'writer_of_project'
foreign-key: 'project'
as: 'writers'
});
在我的客戶端,它看起來是這樣的:
user: {
id: 1,
...
projects: [1,2,3]
}
project: {
id: 1,
...
writers: [1,4,5]
}
在服務器上的關聯需要第三個表來存儲協會和Sequelize似乎沒有讓我包含它的相應模型。
如果我運行一個include:[user]
我project.find(1)
得到
用戶未與項目相關的!
如果我嘗試將上述示例中的項目放入更新方法中。該用戶屬性會被忽略(我期望的project.setUsers(projectUpdate.users在後臺發生)。
什麼是對付這些協會的加載和更新的正確方法?
我發現如果你使用[sequelize-cli](https://www.npmjs.com/package/sequelize-cli)設置你的模型,那麼關聯變得更容易閱讀,因爲它們包含在模型本身內。它也允許你使用遷移,這是一個真正的獎勵 – swifty