Sequelize v5 ownToMany ассоциация возвращает .add .set функция не найдена - PullRequest
0 голосов
/ 01 апреля 2020

У меня есть связь m: n между двумя таблицами с секвенированием, например:

база данных

//USER
db.user.hasMany(db.cv);
db.cv.belongsTo(db.user);

//SKILL
db.skill.belongsToMany(db.cv, { through: 'cv_skill' });

export const db = {
    Sequelize: Sequelize,
    sequelize: sequelize,
    user: User(sequelize, Sequelize),
    cv: CV(sequelize, Sequelize),
    skill: Skill(sequelize, Sequelize),
    summary: Summary(sequelize, Sequelize), };

модель cv

export const CV = function(sequelize, Sequelize)  {
    return sequelize.define("cv", {
        title: {
            type: Sequelize.STRING
        }
    });
};

модель умения

export const Skill = function(sequelize, Sequelize)  {
    return sequelize.define("skill", {
        name: {
            type: Sequelize.STRING
        },
    });
};

контроллер

import { db } from '../config/database';
const SKILL = db.skill;
const CV = db.cv;
import regeneratorRuntime from "regenerator-runtime";

export const createSkill = (req, res) => {

const { id } = req.params;


SKILL.findOrCreate({
    where: { name: req.body.name },

}).then((skill, created) => {
    CV.setSkill(skill, id);
}).catch(err => {
    res.status(500).send({
        message:
            err.message || "Some error occurred while retrieving skill."
    });
});
};

NodeJS возвращает это умение .addCv, умение .setCv не является функцией. Я не могу найти какой-либо рабочий способ добавить связь между cv и навыком.

...