【发布时间】:2019-06-18 00:25:02
【问题描述】:
从 prisma 数据库中查询数据时,我试图将额外的字段附加到 info 对象。我已经看到了这个post,但我无法让片段工作。
我有以下迁移:
type User {
id: ID! @unique
name: String
}
type Video {
id: ID! @unique
name: String
likes: [Like]
}
type Like {
id: ID! @unique
user: User
createdAt: DateTime!
}
现在,我想查询所有视频并检查当前用户是否已经喜欢某个视频。如果是这样,likes 对象应该读取 createdAt 值,否则它将为空。
我通过以下查询在操场上执行此操作:
query {
videos() {
id
name
hasVoted: likes(where: {user: {id: "cjr7r85jy00rc0892dfwpu96u"}){
createdAt
}
}
}
这可行,但我想将 hasVoted 添加到我的查询解析器以自动将其附加到所有查询。我该怎么做?
我尝试通过片段解决它,但没有运气:
videos: {
fragment: `fragment hasVoted on Video {
hasVoted: likes (where: {user: {id: "cjr7r85jy00rc0892dfwpu96u"}}){
createdAt
}
}`,
resolve: async (_, args, ctx, info) => {
return await ctx.prisma.query.videos({},info);
}
}
有人对我如何做到这一点有一些想法吗?谢谢!
【问题讨论】:
-
您使用的是 Prisma 客户端还是
prisma-binding? -
嘿:) 我正在使用 prisma-binding