【问题标题】:Hi smart people, i have problem with (many to many) assocation with sequelize orm嗨,聪明的人,我对(多对多)与 sequelize orm 的关联有疑问
【发布时间】:2020-02-16 17:03:12
【问题描述】:

我对(多对多)与 sequelize orm 的关联有疑问

就我而言,我有 3 张桌子

产品, 类别, 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',
        }
      }
    });

请帮助我了解我的错误在哪里))

【问题讨论】:

    标签: node.js sequelize.js


    【解决方案1】:

    请将您的模型定义更正为:

    Product.belongsToMany(Categories, {
      through: ProductsCategories,
      as: 'products_categories',
      foreignKey: "category_id"
    })
    
    Categories.belongsToMany(Product, {
      through: ProductsCategories,
      as: 'products_categories',
      foreignKey: "product_id"
    })
    

    和 findAll:

     const products = await Product.findAll({
          include:{
            model:Categories,
            as: 'products_categories'
          }
        });
    

    【讨论】:

    • 我已经解决了问题,无论如何感谢重播的foreignKeys问题=))
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-28
    • 2021-11-13
    • 2020-06-15
    • 2016-12-09
    • 2016-03-11
    • 1970-01-01
    • 2021-11-05
    相关资源
    最近更新 更多