Sequelize.js - GetSomething() 在 hasOne 关系中返回错误值

我试图通过Fluxo我的关系CanaisCadastro,但GetFluxo()返回错误的行。findOne如果我在返回正确的值中使用外键。


async getFluxo(widgetId = 1){

        let canal = await CanaisCadastro.findOne({where: {id_canal_cadastro: widgetId}});

        let fluxo = await canal.getFluxo();

        let fluxo2 = await Fluxo.findOne({where: {id_fluxo: canal.id_fluxo}})

        console.log(

            canal.id_fluxo,  // 8 Value that i wan't

            fluxo.id_fluxo,  // 1 wrong value from GetFluxo

            fluxo2.id_fluxo, // 8 Correct value from findOne

        );

    }

更新

如果我替换.hasOne.belongsTo工作正常,但我不明白为什么。

文档说两者实际上是相同的:

https://img4.mukewang.com/64f96f0e0001949b08730193.jpg

https://img2.mukewang.com/64f96f1a0001cebb09150197.jpg

白衣非少年
浏览 70回答 1
1回答

沧海一幻觉

因为CanaisCadastro有一个Fluxo使用字段的链接id_fluxo,这意味着 SequelizeCanaisCadastro属于Fluxoie 依赖于它。记住这一点,它们之间的关联应该是:CanaisCadastro.belongsTo(Fluxo, {foreignKey: 'id_fluxo'}); Fluxo.hasMany(CanaisCadastro, {foreignKey: 'id_fluxo'});
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript