为什么在放大数据库中创建其他变量?

发布于 2025-01-31 15:07:55 字数 625 浏览 1 评论 0原文

public struct CartProduct: Model {
  public let id: String
  public var cart: Cart?
  public var product: Product?
  public var cardId: String?
  public var createdAt: Temporal.DateTime?
  public var updatedAt: Temporal.DateTime?
  public var cartProductCartId: String?
  public var cartProductProductId: String?

“在此处输入图像说明”

其他变量为:

  public var createdAt: Temporal.DateTime?
  public var updatedAt: Temporal.DateTime?
  public var cartProductCartId: String?
  public var cartProductProductId: String?
public struct CartProduct: Model {
  public let id: String
  public var cart: Cart?
  public var product: Product?
  public var cardId: String?
  public var createdAt: Temporal.DateTime?
  public var updatedAt: Temporal.DateTime?
  public var cartProductCartId: String?
  public var cartProductProductId: String?

enter image description here

additional variables are :

  public var createdAt: Temporal.DateTime?
  public var updatedAt: Temporal.DateTime?
  public var cartProductCartId: String?
  public var cartProductProductId: String?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

佼人 2025-02-07 15:07:55

Createat更新appsync自动管理(如果您在创建/更新操作中指定,您也可以更新 - )。对于其他两个字段,这是因为它与2个模型有连接。您可以将其视为关系数据库中的外键。

因此,创建Cartproduct时,您应该添加cardidproductid,以便在获取/获取/获取cardproduct项目时, AppSync将获得相应的card产品数据。

您的预期productType查询结果'项目就是这样:

{
  id,
  cart,
  product,
  cardId,
  createdAt,
  updatedAt,
  cartProductCardId
  cartProductCart: {
    id
  }
  cartProductProductId,
  cartProductProduct: {
    id,
    name,
    price
  }
}

您可以使用graphql schema创建类似模型。

type CardProduct @model {
  id: ID!
  cardId: ID
  card: Card @connection(fields: ["cardId"])
  productId: ID
  product: Product @connection(fields: ["productId"])
}

type Product @model {
  id
}

type Card @model {
  id
}

createdAt, updatedAt is automatically managed by AppSync(which you can also update as well - if you specify in the create/update operation). For other two additional fields, It's because it has connection with 2 model. You can think of it as foreign key in Relational Database.

So when creating CartProduct, you should add cardId, and productId, so that when getting/fetching CardProduct items, AppSync will get corresponding Card and Product data.

Your expected ProductType query results' item would be like this:

{
  id,
  cart,
  product,
  cardId,
  createdAt,
  updatedAt,
  cartProductCardId
  cartProductCart: {
    id
  }
  cartProductProductId,
  cartProductProduct: {
    id,
    name,
    price
  }
}

Here's how you can create similar models using GraphQL Schema.

type CardProduct @model {
  id: ID!
  cardId: ID
  card: Card @connection(fields: ["cardId"])
  productId: ID
  product: Product @connection(fields: ["productId"])
}

type Product @model {
  id
}

type Card @model {
  id
}

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文