Sequelize:是否可以使用Sequelize魔术方法将记录批量插入到多对多联接表中?

时间:2019-08-23 14:14:29

标签: sequelize.js

是否可以使用Sequelize的魔术方法在多对多联接表中插入/删除联接记录,而无需在提供联接表键的表中创建新对象(因为它们已经存在)?

我想做这样的事情:

models.Task.belongsToMany(models.Category, { as: 'categoriesList', through: models.TaskCategory });
models.Category.belongsToMany(models.Task, { as: 'categoriesList', through: models.TaskCategory });

const assignedCategoryIDs = [1, 2];
taskInstance.addTaskCategory(assignedCategoryIDs ); // this is obviously wrong, method does not exist

备注:

  1. 我当然可以使用TaskCategory模型进行插入,但是我更喜欢从Task实例进行插入,因为它包含一些我需要获取的有用数据其他目的。

  2. TaskCategory直接关联,“忽略” TaskCategory,因此似乎没有添加用于处理TaskCategory对象的方法。

  3. 我想批量进行此操作,因此Category的ID的来源最好是一个数组。 Task的ID应该自动添加。

  4. 假定相关任务和类别记录已经存在。

我经历了很多关于多对多关系的Sequelize问题,但是它们都涉及不同的用例。如果我重复这个问题,我感到抱歉。我只是找不到它。

0 个答案:

没有答案