创建一个接受多个 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