首页 文章

Sequelize加入非主键

提问于
浏览
9

我有两个表需要关联 . TableA有一个TableB . 我可以在TableA模型中执行此操作:

TableA.hasOne( models.TableB, { as: 'TableB', foreignKey: 'someID' } );

查看SQL,这将尝试连接TableA.ID和TableB.someID . 我真正想要的是加入TableA.someNonPrimaryKey和TableB.someID .

如何告诉sequelize加入someNonPrimaryKey?

1 回答

  • 2

    这在目前的续集中是不可能的,但是你可以尝试这种方式 .

    HasOne和BelongsTo之间的区别,HasOne在目标模型中插入关联键,而BelongsTo在源模型中插入关联键 . 关联而非hasOne等于BelongsTo

    TableB.belongsTo(models.TableA, { as: 'TableA', foreignKey: 'someID', targetKey: 'notTableAID' } );
    

相关问题