簡體   English   中英

Sequelize創建方法空數組

[英]Sequelize create method empty array

我已經實現了OrderProducts之間的一對多關系。

Order has more Products - Product 屬於 Order

Product.belongsTo(Order, {
    as: 'order',
    foreignKey: 'order_id'
})
Order.hasMany(Product, {
    as: 'products',
    foreignKey: 'order_id'
})

當我使用create方法創建新Order時,返回的 object 不包括空Products數組。

我嘗試使用選項來create這樣的方法:

const newOrder = await Order.create({ }, {
        include: [{
            as: 'products',
            model: Product
        }]
    });

// products attribute in newOrder doesn't exist.

我預計 object:

{
  id: 1;
  products: []
}

但在此 object 中僅返回屬性id屬性 - 沒有products空數組。

當然,如果使用帶有include選項的findByPkfindAll方法,產品也會被包含在內。 但對於這種用法來說,這是無用的查詢。

如何在不手動將其添加到響應 object 的情況下退回products

您可以添加products: []create選項。 這不會對products表執行任何INSERT查詢,但會按原樣返回。

const newOrder = await Order.create(
    { products: [] }, 
    {
        include: [{
            as: 'products',
            model: Product
        }]
    }
);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM