【发布时间】:2020-10-07 10:11:52
【问题描述】:
我正在尝试使用 sequelize-typescript 建立一对多的关系。 但是当我尝试获取数据时,许多人的关系返回给我一个对象而不是一个数组
我有两张桌子。球队和球员。
团队可以有很多玩家,一个玩家属于一个团队。
我的模型:
@Table
export class Team extends Model<Team> {
@Column
name: string
@HasMany(() => Player)
players: Player[]
}
@Table
export class Player extends Model<Player> {
@Column
name: string
@Column
num: number
@ForeignKey(() => Team)
@Column
teamId: number
@BelongsTo(() => Team)
team: Team
}
当我跑步时:
Team.findAll({ include: [Player] })
我明白了:
[
{
"id": 1,
"name": "My Team",
"createdAt": "2020-06-17T14:23:03.000Z",
"updatedAt": "2020-06-17T14:23:03.000Z",
"players": {
"id": 1,
"name": "Player One",
"num": 10,
"teamId": 1,
"createdAt": "2020-06-17T14:23:03.000Z",
"updatedAt": "2020-06-17T14:23:03.000Z"
}
},
{
"id": 1,
"name": "My Team",
"createdAt": "2020-06-17T14:23:03.000Z",
"updatedAt": "2020-06-17T14:23:03.000Z",
"players": {
"id": 2,
"name": "Player Two",
"num": 99,
"teamId": 1,
"createdAt": "2020-06-17T14:23:03.000Z",
"updatedAt": "2020-06-17T14:23:03.000Z"
}
}
]
但我需要得到这个:
[
{
"id": 1,
"name": "My Team",
"createdAt": "2020-06-17T14:23:03.000Z",
"updatedAt": "2020-06-17T14:23:03.000Z",
"players": [
{
"id": 1,
"name": "Player One",
"num": 10,
"teamId": 1,
"createdAt": "2020-06-17T14:23:03.000Z",
"updatedAt": "2020-06-17T14:23:03.000Z"
},
{
"id": 2,
"name": "Player Two",
"num": 99,
"teamId": 1,
"createdAt": "2020-06-17T14:23:03.000Z",
"updatedAt": "2020-06-17T14:23:03.000Z"
}
]
}
]
不知道是我做错了什么,还是sequelize-typescript的问题,还是sequelize的问题。
谁能帮帮我?
【问题讨论】:
标签: node.js typescript sequelize.js sequelize-typescript