是否可以使用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
备注:
我当然可以使用TaskCategory
模型进行插入,但是我更喜欢从Task
实例进行插入,因为它包含一些我需要获取的有用数据其他目的。
将Task
与Category
直接关联,“忽略” TaskCategory
,因此似乎没有添加用于处理TaskCategory
对象的方法。
我想批量进行此操作,因此Category
的ID的来源最好是一个数组。 Task
的ID应该自动添加。
假定相关任务和类别记录已经存在。
我经历了很多关于多对多关系的Sequelize问题,但是它们都涉及不同的用例。如果我重复这个问题,我感到抱歉。我只是找不到它。