Prisma-relationer løser et kæmpe problem med databaser og datahåndtering.
Antag, at du har en liste over brugere i din app, som laver tweets (forestil dig Twitter).
I dit skema kan du definere relationen mellem disse 2 entiteter på denne måde:
model Tweet {
id Int @id @default(autoincrement())
text String
author User @relation(fields: [authorId], references: [id])
authorId Int
}
model User {
id Int @default(autoincrement()) @id
tweets Tweet[]
}
Når du opretter et nyt tweet, knytter du det til en bruger med id 1
på denne måde:
await prisma.tweet.create({
data: {
text: req.body.content,
author: {
connect: { id: 1 }
}
}
})
Så kan du hente forfatteroplysningerne, når du får et tweet, med:
await prisma.tweet.findMany({
include: {
author: true
}
})
Du kan også oprette en bruger og udfylde databasen med 2 tweets knyttet til den:
await prisma.user.create({
data: {
tweets: {
create: [
{ text: 'test' },
{ text: 'test2' },
]
}
}
})