【问题标题】:Prisma append custom field to info argument when querying data查询数据时,Prisma 将自定义字段附加到 info 参数
【发布时间】: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

标签: graphql prisma


【解决方案1】:

您可以使用 graphql-bindings 中的 addFragmentToInfo

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

【讨论】:

    猜你喜欢
    • 2023-03-31
    • 2012-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多