node.js - Sequelize查询表

时间:2017-04-14 21:01:12

标签: sequelize.js

我有这些表格。患者连接到用户,userAddress连接到用户。

我想在Sequelize中进行查询,在给定患者ID的情况下,我获得了正确的用户地址信息。我可以在两个查询中执行此操作(首先获取userId然后获取userAddress)但是如何只使用Sequelize执行此操作?从我所看到的,find方法以一个表开始,我只能包含连接到那个表的表。我错过了什么吗?我该怎么做?

1 个答案:

答案 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);