graphql突变不会返回已设置的字段

时间:2019-10-29 19:37:55

标签: graphql prisma

如何在保留类型名称的同时从突变返回嵌套字段

在后端将prismagraphql-yoga一起使用

async createComment(parent, args, ctx, info) {
    console.log(args);
    const comment = await ctx.db.mutation.createComment(
      {
        data: {
          ...args,
          user: {
            connect: {
              id: ctx.request.userId
            }
          },
          item: {
            connect: {
              id: args.itemId
            }
          }
        }
      },
      info
    );

    console.log(comment);

    ctx.pubsub.publish('PUBSUB_NEW_COMMENT', { newComment: comment });

    return comment;
 }

在我的情况下,useritemnull的突变响应剂量返回嵌套字段

1 个答案:

答案 0 :(得分:0)

我确实通过在客户端的item突变中添加usergql字段来解决了这个问题

const COMMENT_MUTATION = gql`
  mutation COMMENT_MUTATION($text: String, $itemId: String) {
    createComment(text: $text, itemId: $itemId) {
      id
      text
      user { // adding user field here
        id
        name
      }
      item { adding item field here
        id
        title
        user {
          id
          name
        }
      }
    }
  }
`;

我不知道这是怎么发生的,但是因为它也会影响服务器上的订阅有效负载 基本上从gql突变中添加或删除字段都会更改订阅的有效负载

相关问题