![](/img/trans.png)
[英]Sequelize self-referential many-to-many; how to specify what I'm joining on
[英]Sequelize - How to access joining table in M:M
我正在使用Sequelize,HAPI和MySQL。
我有兩個模型,它們通過自動創建的鏈接表具有M:M。
這就是我制作M:M的方式:
Project.belongsToMany(models.ProjectTag, {through: 'ProjectToProjectTags'});
ProjectTag.belongsToMany(models.Project, {through: 'ProjectToProjectTags'});
該語句使第三個表稱為ProjectToProjectTags。
現在,當我要創建標簽並將其分配給項目時,請嘗試以下代碼:
newTag.TagName = request.payload.tagname;
newTag.TagDescription = request.payload.tagdescription;
models.ProjectTag.create(newTag).then(function (newTagCreated) {
var newTagToProject = {};
newTagToProject.ProjectTagId = newTagCreated.id;
newTagToProject.ProjectId = ProjectId;
models.ProjectToProjectTag.create(newTagToProject).then(function
(newTagCreated) {
response(newTagCreated).code(200);
})
})
代碼在第二個創建行失敗:
models.ProjectToProjectTag.create
表ProjectToProjectTag模型不存在,因為它是自動創建的。 我該如何更新?
您說它創建了模型ProjectToProjectTags
,但是您使用了ProjectToProjectTag
。 猜猜您應該將其更改為ProjectToProjectTags
(復數)。
所以
models.ProjectToProjectTags.create
代替
models.ProjectToProjectTag.create
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.