如何在保留类型名称的同时从突变返回嵌套字段
在后端将prisma
与graphql-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;
}
在我的情况下,user
和item
为null
的突变响应剂量返回嵌套字段
答案 0 :(得分:0)
我确实通过在客户端的item
突变中添加user
和gql
字段来解决了这个问题
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突变中添加或删除字段都会更改订阅的有效负载