我需要在create上设置一个相关字段的值,可以吗?
详细信息:我有一个带有字段的User模型:email, displayname。我有一个带有字段的Verify模型:code, action。
我创建了两个模型之间的关系,如下所示:

我想同时createUser和设置code和action的相关字段。我试过这个:
mutation {
createUser
(
email:"noit@mail.com",
displayname:"noit",
password:"123",
code: "this is a code",
action: "REGISTER"
) {
id
}
}此操作失败,出现以下错误:
{
"data": null,
"errors": [
{
"message": "Unknown argument 'code' on field 'createUser' of type 'Mutation'. (line 2, column 76):\n createUser(email: \"noit@mail.com\", displayname: \"noit\", password: \"123\", code: \"this is a code\", action: \"REGISTER\") {\n ^",
"locations": [
{
"line": 2,
"column": 76
}
]
},
{
"message": "Unknown argument 'action' on field 'createUser' of type 'Mutation'. (line 2, column 100):\n createUser(email: \"noit@mail.com\", displayname: \"noit\", password: \"123\", code: \"this is a code\", action: \"REGISTER\") {\n ^",
"locations": [
{
"line": 2,
"column": 100
}
]
}
]
}发布于 2017-02-10 08:07:12
我们专门设计了Graphcool API来尽可能简单地处理这样的情况,您可以这样做:
mutation {
createUser (
email:"noit@mail.com",
displayname:"noit",
password:"123",
blahVerify: {
code: "this is a code",
action: "REGISTER"
}) {
id
blahVerify {
id
}
}
}请注意嵌套的blahVerify对象参数。
This answer to a similar question更详细地介绍了如何使用GraphQL变量从Apollo客户端发送嵌套突变。
顺便提一下,根据验证节点的action的不同可能值,您可能希望使用枚举字段而不是字符串。您可以阅读有关枚举字段in the documentation的更多信息。
发布于 2017-02-10 04:06:23
你可以在scaphold.io上做到这一点。逻辑系统包含的不仅仅是变异回调。您可以在突变之前触发函数,在将输入保存到数据库之前验证/清理输入,在之后管理将在相同突变有效负载中返回的连接,并异步(如突变回调)启动长期任务。您甚至可以将函数组合在一起,通过函数调用链传递元数据。
https://stackoverflow.com/questions/42145536
复制相似问题