gpt4 book ai didi

graphql - Apollo/React 改变两个相关表

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

假设我有两个表,一个包含产品,另一个包含价格。

在 Graphql 中,查询可能如下所示:

option {
id
price {
id
optionID
price
date
}
description
}

我向用户提供了一个表单(在 React 中),他们可以在其中同时输入产品详细信息和价格。

当他们提交表单时,我需要在“产品”表中创建一个条目,然后在“价格”表中创建一个相关条目。

我对 Graphql 和 React 非常陌生,我发现它的学习曲线很陡峭,并且一直在关注 Apollo 教程并阅读文档,但到目前为止,此任务的解决方案仍然是个谜!

有人可以让我摆脱痛苦,并为我提供或为我指明方向,处理为此所需的突变的最简单的例子吗?

最佳答案

长话短说,如果您想优化尽可能少的请求,那么这实际上应该由您的服务器处理。

问题:这里的问题是您有依赖性。您需要先创建产品,然后使用该产品的 ID 将其与新价格相关联。

解决方案:在服务器上实现此目的的最佳方法是在突变输入中向“产品”添加另一个字段,该字段允许您在同一请求输入中输入“价格”的详细信息。这称为 "nested create"在斯卡霍尔德上。

例如:

// Mutation
mutation CreateProduct ($input: CreateProductInput!) {
createProduct(input: $input) {
changedProduct {
id
name
price {
id
amount
}
}
}
}

// Variables
{
input: {
name: "My First Product",
price: {
amount: 1000
}
}
}

然后,在服务器上,您可以解析解析器参数中的价格对象,并在创建产品时创建新的价格对象。同时,您也可以在服务器上一次性关联它们。

希望这有帮助!

关于graphql - Apollo/React 改变两个相关表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43939730/

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