有没有办法在 Sequelize 中将一个 table 的属性与另一个 table 的任何属性相关联?
Is there a way to associate one table's an attribute to another table's any attribute in Sequelize?
有一个叫Order的table,Order有PK(id)和一个属性(company_id)。
其他 table 是 Company_Parameter 具有 PK(Id) 和属性 (cid)。
我想在 Order.company_id = Company_Parameter.cid 上连接这些 table,但是 company_id 和 cid 不是主键。
我在sequelize中设置了这样的关联:
Order.hasMany(公司参数, {
外键:'cid',
targetKey: 'company_id',
});
companyParameters.belongsTo(订单,{
外键:'cid',
targetKey: 'company_id',
});
但是这些关联 运行:
ON Order
.id
=
companyParameters
.cid
;
我要运行
ON Order
.company_id
=
companyParameters
.cid
;
在 hasMany
中,您应该使用 sourceKey
选项来指示其他模型的密钥,而不是 targetKey
一个。
Order.hasMany(companyParameters, { foreignKey: 'cid', sourceKey: 'company_id', });
有一个叫Order的table,Order有PK(id)和一个属性(company_id)。
其他 table 是 Company_Parameter 具有 PK(Id) 和属性 (cid)。
我想在 Order.company_id = Company_Parameter.cid 上连接这些 table,但是 company_id 和 cid 不是主键。
我在sequelize中设置了这样的关联:
Order.hasMany(公司参数, { 外键:'cid', targetKey: 'company_id', }); companyParameters.belongsTo(订单,{ 外键:'cid', targetKey: 'company_id', });
但是这些关联 运行:
ON Order
.id
=
companyParameters
.cid
;
我要运行
ON Order
.company_id
=
companyParameters
.cid
;
在 hasMany
中,您应该使用 sourceKey
选项来指示其他模型的密钥,而不是 targetKey
一个。
Order.hasMany(companyParameters, { foreignKey: 'cid', sourceKey: 'company_id', });