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

Posted

技术标签:

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

您可以使用 graphql-bindings 中的 addFragmentToInfo

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

【讨论】:

以上是关于查询数据时,Prisma 将自定义字段附加到 info 参数的主要内容,如果未能解决你的问题,请参考以下文章

Netsuite API - PHP将自定义字段附加到新客户

使用带有引导程序的 dataTables 将自定义控件附加到 dom

将自定义字段传递给 SQL 查询

将自定义视图附加到 Android 键盘的顶部

如何将自定义数据从ui-router中的视图传递到某个状态?

为啥我无法使用 GO 客户端在我的 prisma 查询中获取相关字段?