から2つの異なるフィールドに1つのSequelizeモデルをリンク私は2つのモデルを持っています両方ともBusinessEntity
レコードを指しています。だから、私はinvoices
テーブル(Invoice
モデル)に、2つのフィールド、すなわち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
テーブルからIDを割り当てて請求書を正常に挿入しました。
include
seller
とbuyer
の出力には、Invoice
をどのように照会する必要がありますか?
私が試した:
Invoice.findOne({ include: [BusinessEntity] })
をしかし、それは、このエラーで失敗します。
business_entity is not associated to invoice!
これを行うには正しい方法は何ですか?どのように問題を解決するには?