创建具有复合键的表的关联
Creating associations of a tables that both have composite keys
我在 sequelize 中遇到问题,无法在具有复合键的模型之间创建关系。让我向您展示 tables.
通常在sequelize中创建模型之间的关系,我们使用belongsTo或hasMany等,然后将foreignKey设置为目标的primaryKey table (e.g. toolsName || tools_name) .在我的例子中,我需要创建属于 tools 的 historyTool 关系,因此代码将如下所示。
models.ChecklistTool.belongsTo(models.Tools, {
foreignKey: 'toolsName',
as: 'Tools'
}
);
现在,问题是 table 工具将 clusterId 设置为它的另一个主键,这导致 table 的复合主键(例如(眼镜)(1)),我很困惑如何创建关联模型。
虽然我意识到如果 table 工具有自己的自动递增 ID (tools_id) 会容易得多,但如果我知道如何在没有它的情况下创建一个,那将会有很大帮助,因为将来当我无法控制 table 的设计时,这将是一个很好的参考。
非常感谢,如有任何帮助,我们将不胜感激。
我就写在SQL,用sequelize.query()方法,凑合一下
我在 sequelize 中遇到问题,无法在具有复合键的模型之间创建关系。让我向您展示 tables.
通常在sequelize中创建模型之间的关系,我们使用belongsTo或hasMany等,然后将foreignKey设置为目标的primaryKey table (e.g. toolsName || tools_name) .在我的例子中,我需要创建属于 tools 的 historyTool 关系,因此代码将如下所示。
models.ChecklistTool.belongsTo(models.Tools, {
foreignKey: 'toolsName',
as: 'Tools'
}
);
现在,问题是 table 工具将 clusterId 设置为它的另一个主键,这导致 table 的复合主键(例如(眼镜)(1)),我很困惑如何创建关联模型。
虽然我意识到如果 table 工具有自己的自动递增 ID (tools_id) 会容易得多,但如果我知道如何在没有它的情况下创建一个,那将会有很大帮助,因为将来当我无法控制 table 的设计时,这将是一个很好的参考。
非常感谢,如有任何帮助,我们将不胜感激。
我就写在SQL,用sequelize.query()方法,凑合一下