Sequelize — как получить доступ к присоединительной таблице в 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);
        })
    })

Ошибка кода во второй строке create:

models.ProjectToProjectTag.create

Таблица ProjectToProjectTag модель не существует, так как она была создана автоматически. Как сделать это обновление?

1 ответ

  1. Вы говорите, что он создает модельProjectToProjectTags, но вы используете ProjectToProjectTag. Думаю, вы должны просто изменить его на ProjectToProjectTags(множественное число).

    Так

    models.ProjectToProjectTags.create
    

    вместо

    models.ProjectToProjectTag.create