No veo cómo puedo actualizar una tabla de unión con varias identificaciones. Entonces, quiero actualizar una tabla de unión para que esas filas con identificaciones que faltan se vayan y se creen otras nuevas.
esta es mi configuracion
ActorFilm.belongsTo(models.Actor, { foreignKey: 'actorId', targetKey: 'id' }); ActorFilm.belongsTo(models.Film, { foreignKey: 'filmId', targetKey: 'id' }); Actor.belongsToMany(models.Film, { through: models.ActorFilm, foreignKey: 'actorId' }); Film.belongsToMany(models.Actor, { through: models.ActorFilm, foreignKey: 'filmId' });Así es como agrego un nuevo actor:
const actor= await Actor.create({ userId: userId, title: title, description: description }); if (filmIds && filmIds.length) { await actor.setFilms(filmIds ); const actorWithFilms = Actor.findByPk(actor.id, { include: Film }); return actorWithFilms ; } return actor;Y quiero actualizar Actorasí:
const editedActor = await Actor.update({ title: title, description: description, }, { where: { id: actorId }, returning: true, }); return editedActor;Donde necesito poner una nueva matriz de ID para que los que faltan se vayan y se creen nuevos en la tabla de unión. ¿O debería primero eliminar los innecesarios yo mismo, verificar los que ya existen y agregar otros nuevos?
Solo usa
await actor.setFilms(filmIds );elimina registros de enlaces antiguos y agrega nuevos.