[英]Updating a many to many join table using sequelize for nodejs
我有一個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(category);
代替
我覺得你很親密 我的一些代碼遇到了類似的問題。 嘗試迭代找到的類別,然后添加它們。 我認為這可能會成功。
models.Category.findAll({where: {id: [1,2,3]}}).on('success', function(category){
for(var i=0; i<category.length; i++){
product.setCategories([category[i]]);
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.