[英]Sequelize create method empty array
我已經實現了Order
和Products
之間的一對多關系。
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
選項的findByPk
或findAll
方法,產品也會被包含在內。 但對於這種用法來說,這是無用的查詢。
如何在不手動將其添加到響應 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.