createUser更新相关字段——理解关系
createUser update related field - understanding relation
我需要在创建时设置相关字段的值,这可能吗?
详情:
我有一个包含字段的 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
}
]
}
]
}
您可以在 scaphold.io 上完成此操作。 Logic 系统不仅仅包括突变回调。您可以在 validate/clean 输入的突变之前触发函数,然后将其保存到数据库中,之后管理将在相同突变有效负载中返回的连接,以及异步(如突变回调)以启动长期任务.您甚至可以将函数组合在一起以通过函数调用链传递 meta-data。
我们专门设计了 Graphcool API 来尽可能简单地处理此类情况,您可以这样做:
mutation {
createUser (
email:"noit@mail.com",
displayname:"noit",
password:"123",
blahVerify: {
code: "this is a code",
action: "REGISTER"
}) {
id
blahVerify {
id
}
}
}
注意嵌套的 blahVerify
对象参数。
更详细一些,还展示了如何使用 GraphQL 变量从 Apollo Client 发送嵌套突变。
作为旁注,根据验证节点的 action
的不同可能值,您可能希望使用枚举字段而不是字符串。您可以阅读有关枚举字段的更多信息 in the documentation.
我需要在创建时设置相关字段的值,这可能吗?
详情:
我有一个包含字段的 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
}
]
}
]
}
您可以在 scaphold.io 上完成此操作。 Logic 系统不仅仅包括突变回调。您可以在 validate/clean 输入的突变之前触发函数,然后将其保存到数据库中,之后管理将在相同突变有效负载中返回的连接,以及异步(如突变回调)以启动长期任务.您甚至可以将函数组合在一起以通过函数调用链传递 meta-data。
我们专门设计了 Graphcool API 来尽可能简单地处理此类情况,您可以这样做:
mutation {
createUser (
email:"noit@mail.com",
displayname:"noit",
password:"123",
blahVerify: {
code: "this is a code",
action: "REGISTER"
}) {
id
blahVerify {
id
}
}
}
注意嵌套的 blahVerify
对象参数。
作为旁注,根据验证节点的 action
的不同可能值,您可能希望使用枚举字段而不是字符串。您可以阅读有关枚举字段的更多信息 in the documentation.