【发布时间】:2023-03-24 16:09:01
【问题描述】:
我有 3 个模型的 sequelize 数据库。
- 团队 - 主键:id
- 参与者 - foreignKey 指代团队 - teamId
- TeamResult-foreignKey 指代 Team - teamId
每个团队可以有多个参与者,因此参与者表中可以有多个具有相同 teamId 的记录。与团队结果相同。
我正在尝试纠正一个查询,在该查询中,我通过以下方式获取与团队相关联的所有参与者和团队结果的对象:
{
"id": 1,
"teamName": "Awesome Team",
//other team attributes..
"participants": [
{
"id": 12,
"teamId": 1,
//other details
},
{
"id": 13,
"teamId": 1,
//other details
},
],
"teamResults": [
{
"id": 22,
"teamId": 1,
//other details
},
{
"id": 13,
"teamId": 1,
//other details
}
]
}
我写了以下声明,但我得到的只是参与者和导师中的第一个,而不是全部:
models.Team.find({
where: {
id: req.params.teamId
},
include: [
{model: models.Participant, required: true},
{model: models.TeamResult, required: true}
]
}).then(function(team){/* handle team object here */})
为了获得所需的结果,我需要进行哪些更改?
【问题讨论】:
标签: mysql node.js express sequelize.js