我正在使用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 模型不存在,因为它是自动创建的。我该怎么做这个更新?
答案 0 :(得分:0)
您说它会创建模型ProjectToProjectTags
,但您使用ProjectToProjectTag
。猜猜你应该把它改成ProjectToProjectTags
(复数)。
所以
models.ProjectToProjectTags.create
而不是
models.ProjectToProjectTag.create