首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >createUser更新相关字段-理解关系

createUser更新相关字段-理解关系
EN

Stack Overflow用户
提问于 2017-02-10 03:46:10
回答 2查看 476关注 0票数 3

我需要在create上设置一个相关字段的值,可以吗?

详细信息:我有一个带有字段的User模型:email, displayname。我有一个带有字段的Verify模型:code, action

我创建了两个模型之间的关系,如下所示:

我想同时createUser和设置codeaction的相关字段。我试过这个:

代码语言:javascript
复制
mutation {
  createUser
  (
    email:"noit@mail.com",
    displayname:"noit",
    password:"123",
    code: "this is a code",
    action: "REGISTER"
  ) {
    id
  }
}

此操作失败,出现以下错误:

代码语言:javascript
复制
{
  "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
        }
      ]
    }
  ]
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-10 08:07:12

我们专门设计了Graphcool API来尽可能简单地处理这样的情况,您可以这样做:

代码语言:javascript
复制
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的更多信息。

票数 4
EN

Stack Overflow用户

发布于 2017-02-10 04:06:23

你可以在scaphold.io上做到这一点。逻辑系统包含的不仅仅是变异回调。您可以在突变之前触发函数,在将输入保存到数据库之前验证/清理输入,在之后管理将在相同突变有效负载中返回的连接,并异步(如突变回调)启动长期任务。您甚至可以将函数组合在一起,通过函数调用链传递元数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42145536

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档