gpt4 book ai didi

javascript - Graphql 创建 2 个具有 1 个突变的条目

转载 作者:行者123 更新时间:2023-12-02 23:08:06 25 4
gpt4 key购买 nike

我以前没有遇到过这种情况,但只需 1 个突变就会创建 2 个条目:

方案.json:

    {
"name": "createAdminConfigCategory",
"description": "Creates a single `AdminConfigCategory`.",
"args": [
{
"name": "input",
"description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.",
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
"kind": "INPUT_OBJECT",
"name": "CreateAdminConfigCategoryInput",
"ofType": null
}
},
"defaultValue": null
}
],
"type": {
"kind": "OBJECT",
"name": "CreateAdminConfigCategoryPayload",
"ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
"kind": "INPUT_OBJECT",
"name": "CreateAdminConfigCategoryInput",
"description": "All input for the create `AdminConfigCategory` mutation.",
"fields": null,
"inputFields": [
{
"name": "clientMutationId",
"description": "An arbitrary string value with no semantic meaning. Will be included in the\npayload verbatim. May be used to track mutations by the client.",
"type": {
"kind": "SCALAR",
"name": "String",
"ofType": null
},
"defaultValue": null
},
{
"name": "adminConfigCategory",
"description": "The `AdminConfigCategory` to be created by this mutation.",
"type": {
"kind": "NON_NULL",
"name": null,
"ofType": {
"kind": "INPUT_OBJECT",
"name": "AdminConfigCategoryInput",
"ofType": null
}
},
"defaultValue": null
}
],
"interfaces": null,
"enumValues": null,
"possibleTypes": null
},
{
"kind": "OBJECT",
"name": "CreateAdminConfigCategoryPayload",
"description": "The output of our create `AdminConfigCategory` mutation.",
"fields": [
{
"name": "clientMutationId",
"description": "The exact same `clientMutationId` that was provided in the mutation input,\nunchanged and unused. May be used by a client to track mutations.",
"args": [],
"type": {
"kind": "SCALAR",
"name": "String",
"ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
"name": "adminConfigCategory",
"description": "The `AdminConfigCategory` that was created by this mutation.",
"args": [],
"type": {
"kind": "OBJECT",
"name": "AdminConfigCategory",
"ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
"name": "query",
"description": "Our root query field type. Allows us to run any query from our mutation payload.",
"args": [],
"type": {
"kind": "OBJECT",
"name": "Query",
"ofType": null
},
"isDeprecated": false,
"deprecationReason": null
},
{
"name": "adminConfigCategoryEdge",
"description": "An edge for our `AdminConfigCategory`. May be used by Relay 1.",
"args": [
{
"name": "orderBy",
"description": "The method to use when ordering `AdminConfigCategory`.",
"type": {
"kind": "LIST",
"name": null,
"ofType": {
"kind": "NON_NULL",
"name": null,
"ofType": {
"kind": "ENUM",
"name": "AdminConfigCategoriesOrderBy",
"ofType": null
}
}
},
"defaultValue": "[PRIMARY_KEY_ASC]"
}
],
"type": {
"kind": "OBJECT",
"name": "AdminConfigCategoriesEdge",
"ofType": null
},
"isDeprecated": false,
"deprecationReason": null
}
],
"inputFields": null,
"interfaces": [],
"enumValues": null,
"possibleTypes": null
},

突变前的数据:

{
"data": {
"allAdminConfigCategories": {
"edges": []
}
}
}

突变:

  mutation something($name: String!) {
createAdminConfigCategory(input: { adminConfigCategory: { name: $name } }) {
query {
allAdminConfigCategories {
edges {
node {
id
}
}
}
}
}
}

变量

{ "name": "Jamie" }

变异后的数据:

{
"data": {
"createAdminConfigCategory": {
"query": {
"allAdminConfigCategories": {
"edges": [
{
"node": {
"id": 42
}
},
{
"node": {
"id": 43
}
}
]
}
}
}
}
}

我在 graphiql 中执行这些查询:

enter image description here

最佳答案

您不是在此处创建两个条目;而是在此处创建两个条目。你的突变:

mutation something($name: String!) {
createAdminConfigCategory(input: { adminConfigCategory: { name: $name } }) {
query { # < Here's the issue
allAdminConfigCategories {
edges {
node {
id
}
}
}
}
}
}

正在请求突变负载上的query字段,这使您可以再次访问整个GraphQL架构。然后,您可以使用它来查询 allAdminConfigCategories,这将为您提供允许您查看的所有管理配置类别(而不仅仅是您刚刚创建的类别)。

您想要的突变可能更像是这样:

mutation something($name: String!) {
createAdminConfigCategory(input: { adminConfigCategory: { name: $name } }) {
adminConfigCategory {
id
}
}
}

这里我们只是直接从突变负载中查询新创建的 AdminConfigCategory。

关于javascript - Graphql 创建 2 个具有 1 个突变的条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57496403/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com