创建一个接受多个 ENUM 值的突变

Posted

技术标签:

【中文标题】创建一个接受多个 ENUM 值的突变【英文标题】:Create a mutation which takes multiple values of an ENUM 【发布时间】:2017-08-10 21:53:05 【问题描述】:

我创建了一个模型,该模型具有一个字段,该字段采用ENUM 的多个值。如何编写允许我一次添加多个值的突变?

例如,我有一个注册突变:

export const signUp = gql`
  mutation signUp(
    $email: String!,
    $name: String!,
    $password: String!,
    $attended: [USER_ATTENDED!]!,
    $role: [USER_ROLE!]!,
  ) 
    createUser(
      authProvider: 
        email: 
          email: $email,
          password: $password,
        ,
      ,
      name: $name,
      attended: $attended,
      role: $role,
    ) 
      id,
      createdAt,
      name,
      email,
    
  
`;

我希望 $attended$role 接受多个值。

【问题讨论】:

我不确定你的问题是什么。正如它所写的那样,它似乎会接受一组值。不是这样吗? 【参考方案1】:

您可以使用方括号传递多个值:[]。在您的情况下,GraphiQL 中的变量需要像这样:


  "email": "name@email.com",
  "name": "Name",
  "password": "secret",
  "attended": ["A", "B"],
  "role": ["ROLE_A", "ROLE_B"]

在 Apollo 中,这应该可以工作:

const variables = 
  email: "name@email.com",
  name": "Name",
  password: "secret",
  attended: ["A", "B"],
  role: ["ROLE_A", "ROLE_B"]

有关 GraphQL 变量的更多信息,请访问 here 和 here。

【讨论】:

以上是关于创建一个接受多个 ENUM 值的突变的主要内容,如果未能解决你的问题,请参考以下文章

GraphQL - 如何在查询多个突变期间检索先前突变的 id

安全地返回对内部节点的多个引用,同时仍然允许其他节点的突变

Phpmyadmin 仅接受来自具有多个输入值的 json 数组中的一个条目

一个具有多个可接受值的变量。这在Lua中可能吗?

接受多个 Id 值的 T-SQL 存储过程

如何将具有多个对象的状态数组作为参数传递给graphql突变?