Я пытаюсь установить связь «один-ко-многим» с помощью 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.
кто-нибудь может мне помочь?