节点js中的多对多关联

时间:2019-10-21 10:34:55

标签: node.js reactjs sequelize.js

2 个答案:

答案 0 :(得分:0)

我想这里您有一个错误:

subcategories: products.subcategories.map(Subcategory => {

products是数组,您无法从数组中获取subcategories。将其更改为以下代码:

subcategories: Product.subcategories.map(Subcategory => {

答案 1 :(得分:0)

sequilize.js中的许多关联 这将有助于您解决问题:

  

一种产品有很多订单

     

一个订单有很多产品

     

由于存在许多关系,因此我们具有包含product_id和order_id的联结表“ orderproduct”。

   //  In product model
    product.belongsToMany(order, {          
                through: 'orderproduct',
                foreignKey: 'product_id'
            });

   // In order model
    order.belongsToMany(product, {          
                through: 'orderproduct',
                foreignKey: 'order_id'
            });

   // In oderproduct model 
        orderproduct.belongsTo(product, {
            foreignKey: { name: 'product_id', allowNull: false }
        });

        orderproduct.belongsTo (order, {
            foreignKey: { name: 'order_id', allowNull: false }
        });
    }