代码之家  ›  专栏  ›  技术社区  ›  Onyx

订单和产品之间存在多对多关系。当订单包含已删除的产品记录时,我该怎么办?

  •  0
  • Onyx  · 技术社区  · 4 年前

    我有以下三张桌子- orders , products order_products 它们之间有着多对多的关系。

    我有一个管理视图,显示所有订单,以及它们包含的产品,这一切都很好,但是,我意识到如果出现这种情况,会发生一些不希望发生的事情:

    1. 一个用户订购了两种产品
    2. 管理员删除用户订单中的产品
    3. 当管理员转到显示所有订单的视图时,用户的订单将丢失管理员在步骤2中删除的项目

    我想我想要 order 保持 产品 这是其中的一部分,即使 product 来自 产品 表被删除。我想我可以通过在 订购产品 表中包含的信息也存储在 产品 记录。这意味着数据将被复制,但是 产品 有关 顺序 如果实际的 产品 记录被删除。

    0 回复  |  直到 4 年前