Как добавить ещё одну дочернюю запись к родительской в Sequelize + express?
Есть Модель:
const seq = require('../db')
const {DataTypes} = require('sequelize')
const Actor = seq.define('actor',{
id: {type: DataTypes.INTEGER, primaryKey: true, autoIncrement: true},
name: {type: DataTypes.STRING, unique: false, allowNull: false},
img: {type: DataTypes.STRING,},
isDeath:{type: DataTypes.BOOLEAN},
date_of_birth:{type: DataTypes.DATE,},
date_of_death:{type: DataTypes.DATE,},
// country_of_birth:{type: DataTypes.STRING,},
// country_of_death:{type: DataTypes.STRING,},
})
const Movie = seq.define('movie',{
id: {type: DataTypes.INTEGER, primaryKey: true, autoIncrement: true},
movie_name:{type: DataTypes.STRING,},
description:{type: DataTypes.STRING},
chapters:{type: DataTypes.INTEGER},
year:{type: DataTypes.DATE},
mov_video:{type: DataTypes.STRING},
img: {type: DataTypes.STRING},
})
//actors to movies, movies to actors m:m
Actor.belongsToMany(Movie, {through: "ActorsFilms"})
Movie.belongsToMany(Actor, {through: "ActorsFilms"})
Есть Контроллер:
const { Actor, Movie, ActorsFilms } = require("../models/models");
class ActorController {
async create(req, res, next) {
try {
let actor = await Actor.create(req.body, { include: [Movie] });
return res.json(actor);
} catch (err) {}
}
async getAll(req, res, next) {
try {
let actors = await Actor.findAll({ include: Movie });
return res.json(actors);
} catch (err) {}
}
async getOne(req, res, next) {
try {
let actor = await Actor.findByPk(req.params.id, { include: Movie });
return res.json(actor);
} catch (err) {}
}
async updateActor(req, res, next) {
try {
const { id } = req.params;
await Actor.update(req.body, {
where: { id: id },
}).then(async (mov_create) => {
await Movie.create(req.body, {});
});
let updated = await Actor.findByPk(id, { include: [Movie] });
return res.json(updated);
} catch (err) {}
}
}
module.exports = new ActorController();
Вопрос: Как правильно прописать updateActor(), что бы при редактировании данных актёра можно было добавить(обновить) фильм?