微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

放大两种类型@model之间的变异连接

如何解决放大两种类型@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 举报,一经查实,本站将立刻删除。