我试图通过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工作正常,但我不明白为什么。文档说两者实际上是相同的:
1 回答
沧海一幻觉
TA贡献1824条经验 获得超5个赞
因为CanaisCadastro
有一个Fluxo
使用字段的链接id_fluxo
,这意味着 SequelizeCanaisCadastro
属于Fluxo
ie 依赖于它。
记住这一点,它们之间的关联应该是:
CanaisCadastro.belongsTo(Fluxo, {foreignKey: 'id_fluxo'}); Fluxo.hasMany(CanaisCadastro, {foreignKey: 'id_fluxo'});
添加回答
举报
0/150
提交
取消