/

Prisma關聯

Prisma關聯

Prisma關聯解決了數據庫和數據處理的一個重大問題。

假設您的應用程序中有一個用戶列表,他們發表推文(想像Twitter)。

在您的schema中,您可以以以下方式定義這兩個實體之間的關係:

1
2
3
4
5
6
7
8
9
10
11
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[]
}

當您創建一個新的推文時,您可以通過以下方式將其與ID為1的用戶關聯起來:

1
2
3
4
5
6
7
8
await prisma.tweet.create({
data: {
text: req.body.content,
author: {
connect: { id: 1 }
}
}
})

然後,當您獲取一個推文時,您可以檢索到作者的信息:

1
2
3
4
5
await prisma.tweet.findMany({
include: {
author: true
}
})

您還可以創建一個用戶並將與其關聯的推文填充到數據庫中:

1
2
3
4
5
6
7
8
9
10
await prisma.user.create({
data: {
tweets: {
create: [
{ text: 'test' },
{ text: 'test2' },
]
}
}
})

tags: [“Prisma”, “數據庫”, “關聯”, “推文”, “用戶”]