Quan hệ Prisma giải quyết một vấn đề lớn với cơ sở dữ liệu và xử lý dữ liệu.
Giả sử bạn có một danh sách người dùng trong ứng dụng của mình, tạo các tweet (hãy tưởng tượng Twitter).
Trong lược đồ của bạn, bạn có thể xác định mối quan hệ giữa 2 thực thể đó theo cách này:
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[]
}
Khi bạn tạo một tweet mới, bạn liên kết nó với một người dùng có id 1
theo cách này:
await prisma.tweet.create({
data: {
text: req.body.content,
author: {
connect: { id: 1 }
}
}
})
Sau đó, bạn có thể truy xuất thông tin tác giả khi bạn nhận được một tweet, với:
await prisma.tweet.findMany({
include: {
author: true
}
})
Bạn cũng có thể tạo người dùng và điền vào cơ sở dữ liệu bằng 2 tweet được liên kết với nó:
await prisma.user.create({
data: {
tweets: {
create: [
{ text: 'test' },
{ text: 'test2' },
]
}
}
})