我对(多对多)与 sequelize orm 的关联有疑问
就我而言,我有 3 张 table
产品,
类别,
products_categories
这是 nodeJS 中的关联
Product.belongsToMany(Categories, {
through: {
model: ProductsCategories,
as: 'products_categories',
},
foreignKey: "category_id"
})
Categories.belongsToMany(Product, {
through: {
model: ProductsCategories,
as: 'products_categories',
},
foreignKey: "product_id"
})
当我尝试获取带有类别的产品时
sequelize 不会让我返回产品的类别
这里是例子
const products = await Product.findAll({
include:{
model:Categories,
nested:true,
through:{
model: ProductsCategories,
as: 'products_categories',
}
}
});
请帮助我了解我的错误在哪里))
最佳答案
请将您的模型定义更正为:
Product.belongsToMany(Categories, {
through: ProductsCategories,
as: 'products_categories',
foreignKey: "category_id"
})
Categories.belongsToMany(Product, {
through: ProductsCategories,
as: 'products_categories',
foreignKey: "product_id"
})
并找到全部:
const products = await Product.findAll({
include:{
model:Categories,
as: 'products_categories'
}
});
关于node.js - 嗨,聪明的人,我对(多对多)与 sequelize orm 的关联有疑问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60246276/