如何解决放大两种类型@model之间的变异连接
我正在尝试将产品对象传递给发票表,因此在我的情况下,我猜它是一对多的,其中一张发票有多个产品。 我试图做这样的事情:
架构:
type Product @model @key(name: "productIdindex",fields: ["productID"]) {
id: String!
name: String!
handle: String
description: String
categories: [String]
tags: [String]
images: [Image]
price: Float
sellingPrice: Float
profit: Float
priceTaxExcl: Int
priceTaxIncl: Int
taxRate: Int
comparedPrice: Int
quantity: Int
sku: String
width: String
height: String
depth: String
weight: String
extraShippingFee: Int
active: Boolean
boughtDate: String
soldDate: String
deliveryPrice: Float
deliveryMwstPrice: Float
ebayInvoiceNo: Int
ebayArticleNo: String
differencePrice: Float
differenceMwstPrice: Float
total: Float
totalMwst: Float
productID: ID!
}
type Image {
default: Boolean
id: String
url: String
type: String
}
type Invoice @model {
id: ID!
products: [Product] @connection(keyName: "productIdindex",fields:["id"])
date: String
}
在为发票生成的架构中,我只有 ID 和日期作为输入,但我还需要编写产品对象。
为 CreateInvoiceInput 生成的架构:
input CreateInvoiceInput {
id: ID
date: String
}
我尝试在请求中将产品作为对象传递,但我在浏览器上收到错误,提示输入的发票中未定义产品。
知道如何解决这个问题吗?
解决方法
对于一对多,您希望先创建父对象,然后使用父记录的 id 集创建子记录。
因此,在您的情况下,创建 Product 记录并从突变的响应中获取 id。然后,使用 ProductId 属性集保存发票记录。
以下是与此用例相关的一些示例:https://docs.amplify.aws/cli/graphql-transformer/connection#has-many
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。