【发布时间】:2020-08-24 10:22:01
【问题描述】:
我有三张桌子会议、房间和项目
meetings.belongsTo(models.rooms, { foreignKey: "room_id" , targetKey: "id"});
rooms.hasMany(models.meetings, { foreignKey : "id", targetKey : "room_id"});
rooms.belongsTo(models.projects, { foreignKey: "project_id", targetKey: "id"});
projects.hasMany(models.rooms, {foreignKey:"id", targetKey:"project_id"});
id、room_id 和 project_id 是各自表的主键。 我想找到特定会议 ID 的某些项目列的价值。如何使用 sequelize nodejs 编写单个查询来执行此操作? 下面的查询需要使用 sequelize 执行,结果正确
select project_meta from projects p
inner join rooms r on p.id = r.project_id
inner join meetings m on r.id = m.room_id
where m.id = "QBZJ0TK7V6NFSPPWGFNCN";
写了以下
projects.findAll({
include: [{
model: rooms,
include: [{
model: meetings,
where: {
id: "QBZJ0TK7V6NFSPPWGFNCN"
}
}]
}],
attributes: ['project_meta']
}
但它正在执行不同的查询并给出意外的结果
关联有问题吗?
【问题讨论】:
标签: node.js orm sequelize.js