Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何通过Sequelize中具有一对一关系的另一个表来关联两个表_Node.js_Sequelize.js_Associations - Fatal编程技术网

Node.js 如何通过Sequelize中具有一对一关系的另一个表来关联两个表

Node.js 如何通过Sequelize中具有一对一关系的另一个表来关联两个表,node.js,sequelize.js,associations,Node.js,Sequelize.js,Associations,我有三张桌子A、B和C。 A和B有一对一的关系。B和C有一对多的关系。 我的问题是如何将A和C与B联系起来。例如: A列有一个\u id、消息 B有B_id列、a_id列(外键) C有C_id列、b_id列(外键) 如何在sequelize中通过B在A和C之间创建关联?您可以在引用B的关联中使用到关键字,并指定外键,其他键,以及作为关系的名称 //通过ModelB将ModelA与ModelC关联 ModelA.associate=(models)=>{ //A到C ModelA.belongsT

我有三张桌子A、B和C。 A和B有一对一的关系。B和C有一对多的关系。 我的问题是如何将A和C与B联系起来。例如:

A列有一个\u id、消息

B有B_id列、a_id列(外键)

C有C_id列、b_id列(外键)

如何在sequelize中通过B在A和C之间创建关联?

您可以在引用
B
的关联中使用
关键字,并指定
外键
其他键
,以及
作为关系的
名称

//通过ModelB将ModelA与ModelC关联
ModelA.associate=(models)=>{
//A到C
ModelA.belongsToMany(models.ModelC{
如:“AtoC”,
外键:“a_id”,
otherKey:'b_id',
通过“ModelB”,
});
}
//通过ModelB将ModelC与ModelA关联
ModelA.associate=(models)=>{
ModelC.belongsToMany(models.ModelA{
如:‘CtoA’,
外键:“b_id”,
otherKey:'a_id',
通过“ModelB”,
});
}
要查询关系,请为关联指定
模型
,以及

const result=wait ModelA.findById(aID{
包括:{
型号:'ModelC',
如:“AtoC”,
通过“ModelB”,
}
});

因此,如果A和B有1:1的关系,B和C有1:N的关系。这使得A和C有M:N关系@没错,这是一种多对多的关系。