查询数据时,Prisma将自定义字段附加到info参数

时间:2019-01-24 09:53:08

标签: graphql prisma

当我从pyramida数据库查询数据时,我试图将额外的字段附加到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);
          }
        }

任何人都有一些想法我该怎么做?谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用来自graphql-bindings的addFragmentToInfo

https://oss.prisma.io/content/graphql-binding/02-api-reference#addfragmenttoinfo