Hubungan prisma memecahkan masalah besar dengan database dan penanganan data.
Misalkan Anda memiliki daftar pengguna di aplikasi Anda, yang membuat tweet (bayangkan Twitter).
Dalam skema Anda, Anda dapat menentukan hubungan antara 2 entitas tersebut dengan cara ini:
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[]
}
Saat Anda membuat tweet baru, Anda mengaitkannya dengan pengguna dengan id 1
dengan cara ini:
await prisma.tweet.create({
data: {
text: req.body.content,
author: {
connect: { id: 1 }
}
}
})
Kemudian Anda dapat mengambil informasi penulis ketika Anda mendapatkan satu tweet, dengan:
await prisma.tweet.findMany({
include: {
author: true
}
})
Anda juga dapat membuat pengguna dan mengisi database dengan 2 tweet yang terkait dengannya:
await prisma.user.create({
data: {
tweets: {
create: [
{ text: 'test' },
{ text: 'test2' },
]
}
}
})