node.js – 使用nodejs的sequelize更新多对多连接表

我有一个Products表和Categories表.单个产品可以有许多类别,单个类别可以有许多产品,因此我有一个ProductsCategories表来处理多对多连接.

在下面的示例中,我尝试将我的一个产品(ID为1)与3个不同的类别(ID为1,2和3)相关联.我知道下面的代码片段中有些内容已关闭,因为我收到一条丑陋的SQL错误消息,指示我正在尝试将对象插入到ProductsCategories连接表中.我不知道如何修复下面的片段,或者我是否在这里正确的轨道.对于这种事情,Sequelize文档非常稀疏.

models.Product.find({ where: {id: 1} }).on('success', function(product) {
  models.Category.findAll({where: {id: [1,2,3]}}).on('success', function(category){
    product.setCategories([category]);
  });      
});

我非常感谢你们的帮助,谢谢.另外,我正在使用Postgres,不确定这是否重要.

最佳答案
models.Category.findAll返回一个数组.通过做setCategories([category]);您将该数组包装在一个数组中.尝试将其更改为setCategories(类别);代替

转载注明原文:node.js – 使用nodejs的sequelize更新多对多连接表 - 代码日志