Отношенията Prisma решават огромен проблем с базите данни и обработката на данни.
Да предположим, че имате списък с потребители в приложението си, които създават туитове (представете си Twitter).
Във вашата схема можете да дефинирате връзката между тези 2 обекта по следния начин:
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[]
}
Когато създавате нов туит, вие го свързвате с потребител с идентификатор 1
по този начин:
await prisma.tweet.create({
data: {
text: req.body.content,
author: {
connect: { id: 1 }
}
}
})
След това можете да извлечете информацията за автора, когато получите един туит, с:
await prisma.tweet.findMany({
include: {
author: true
}
})
Можете също да създадете потребител и да попълните базата данни с 2 туита, свързани с нея:
await prisma.user.create({
data: {
tweets: {
create: [
{ text: 'test' },
{ text: 'test2' },
]
}
}
})