2
我有兩個型號:鏈接一個Sequelize模型到兩個不同的領域,從另一個模型
BusinessEntity
和Invoice
我想Invoice
有一個seller
和buyer
,兩者都指向BusinessEntity
記錄。所以,我希望在invoices
表(Invoice
型號)有兩個字段:seller_id
和buyer_id
。
所以,我做了這樣的事情:
BusinessEntity
const BusinessEntity = sequelize.define("business_entity", {
display_name: Sequelize.STRING
});
Invoice
const Invoice = sequelize.define("invoice", {
series: Sequelize.STRING,
number: Sequelize.INTEGER,
...
});
// Indeed, this creates the seller_id and buyer_id fields in the invoice
Invoice.belongsTo(BusinessEntity, { as: "seller" });
Invoice.belongsTo(BusinessEntity, { as: "buyer" });
似乎不自然的我打電話給Invoice.belongsTo(BusinessEntity)
,但如果我這樣做:
BusinessEntity.belongsTo(Invoice, { as: "seller" });
BusinessEntity.belongsTo(Invoice, { as: "buyer" });
... seller_id
和buyer_id
列根本不創建。爲什麼?
我成功插入的發票,從business_entities
表assiging IDS。
我該如何查詢Invoice
當我想include
seller
和buyer
在輸出?
我想:
Invoice.findOne({ include: [BusinessEntity] })
但是失敗,此錯誤:
business_entity is not associated to invoice!
什麼是做到這一點的正確方法?如何解決問題?