我有这些表格。患者连接到用户,userAddress连接到用户。
我想在Sequelize中进行查询,在给定患者ID的情况下,我获得了正确的用户地址信息。我可以在两个查询中执行此操作(首先获取userId然后获取userAddress)但是如何只使用Sequelize执行此操作?从我所看到的,find方法以一个表开始,我只能包含连接到那个表的表。我错过了什么吗?我该怎么做?
答案 0 :(得分:0)
您可以使用以下查询在续集中轻松实现此目的:
Patient.findAll({
where: { id: 'ABC_123' },
include: {
model: User,
include: [ UserAddress ]
}
});
但是,要使上述查询生效,您的患者,用户和用户地址模型应正确关联(即双向) ,像这样:
用户与患者之间:
Patient.belongsTo(models.User);
User.hasMany(models.Patient);
在User和UserAddress之间:
UserAddress.belongsTo(models.User);
User.hasMany(models.UserAddress);