获取额外数据
您可以查询实体并指定要返回的内容。例如,如果您想显示帖子的信息及其一些评论,您通常会执行两个单独的查询,但使用 With/Fetch 语法,您可以在单个查询中完成。
这些示例使用以下 Prisma 架构
model Post {
id String @id @default(cuid())
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
published Boolean
title String
content String?
comments Comment[]
}
model Comment {
id String @id @default(cuid())
createdAt DateTime @default(now())
content String
post Post @relation(fields: [postID], references: [id])
postID String
}
查找帖子并获取其三个评论
// find a post
post, err := client.Post.FindFirst(
db.Post.Title.Equals("hi"),
).With(
// also fetch 3 of its comments
db.Post.Comments.Fetch().Take(3),
).Exec(ctx)
check(err)
log.Printf("post's title: %s", post.Title)
comments := post.Comments()
for _, comment := range comments {
log.Printf("comment: %+v", comment)
}