per
02/19/2022, 8:00 AMsets
. But it can have 2 or 3 sets
depending on how the match went. So how do I create this? If I don’t provide a third set, the query fails. See the createMany
below:
const match = await prisma.match.create({
data: {
group: {
connect: {
id: groupId,
},
},
team1: {
connect: {
id: team1id,
},
},
team2: {
connect: {
id: team2id,
},
},
sets: {
createMany: {
data: [
{
setNumber: 1,
gamesTeam1: team1_set1,
gamesTeam2: team2_set1,
setWinnerId: set1Winner,
},
{
setNumber: 2,
gamesTeam1: team1_set2,
gamesTeam2: team2_set2,
setWinnerId: set2Winner,
},
{
setNumber: 3,
gamesTeam1: team1_set3,
gamesTeam2: team2_set3,
setWinnerId: set3Winner,
},
],
},
},
winner: {
connect: {
id: matchWinner,
},
},
date: '2022-01-18T08:56:38.152Z',
},
})
Elena Arens
02/19/2022, 8:17 AMsets: {
createMany: {
data: [
{
setNumber: 1,
gamesTeam1: team1_set1,
gamesTeam2: team2_set1,
setWinnerId: set1Winner,
},
{
setNumber: 2,
gamesTeam1: team1_set2,
gamesTeam2: team2_set2,
setWinnerId: set2Winner,
},
...(team1_set3 && [{
setNumber: 3,
gamesTeam1: team1_set3,
gamesTeam2: team2_set3,
setWinnerId: set3Winner,
}]),
],
},
},
Elena Arens
02/19/2022, 8:20 AMteam1_set3
in your data and it’s not false/0/undefined/null, then the object will be added your sets array. Please note that the object should be in square brackets: https://2ality.com/2017/04/conditional-literal-entries.htmlper
02/19/2022, 8:24 AMteam1_set3
is null
Elena Arens
02/19/2022, 8:27 AMper
02/19/2022, 8:31 AMper
02/19/2022, 8:33 AMmatch
has a relation to a set
- and it creates a row pr set.
model Match {
id String @id @default(cuid())
groupId String
team1Id String
team2Id String
winnerId String
date DateTime
createdAt DateTime @default(now()) @map(name: "created_at")
updatedAt DateTime @updatedAt @map(name: "updated_at")
group Group @relation(references: [id], fields: [groupId])
team1 Team @relation("team1", references: [id], fields: [team1Id])
team2 Team @relation("team2", references: [id], fields: [team2Id])
winner Team @relation("matchWinner", references: [id], fields: [winnerId])
sets Set[]
}
per
02/19/2022, 8:33 AMper
02/19/2022, 8:34 AMElena Arens
02/19/2022, 8:36 AMElena Arens
02/19/2022, 9:18 AMsets: {
createMany: {
data: [
{
setNumber: 1,
gamesTeam1: team1_set1,
gamesTeam2: team2_set1,
setWinnerId: set1Winner,
},
{
setNumber: 2,
gamesTeam1: team1_set2,
gamesTeam2: team2_set2,
setWinnerId: set2Winner,
},
...team1_set3 ? [{
setNumber: 3,
gamesTeam1: team1_set3,
gamesTeam2: team2_set3,
setWinnerId: set3Winner,
}] : [],
],
},
},
per
02/19/2022, 9:27 AM