-1

我目前正在使用 Code Igniter 和 Datamapper ORM 开发一个应用程序,并且我正在尝试将数据保存在数据库中。我有两张表,它们之间有多对多的关系。例如:ShoeDesigns 和 ShoePieces。我还想在 ShoeDesigns 和 ShoePieces 之间的连接表中保存一些数据,即 ShoeDesigns_ShoePieces。我试图四处寻找例子,但没有运气。

我只是想知道是否有可能实际做到这一点,如果我可以在一个保存调用中做到这一点,还是我必须在多个保存调用中做到这一点?

多谢你们。

4

1 回答 1

2

如果您添加的数据不是与和ShoeDesigns_ShoePieces之间的关系有关的数据,那么您将违反 ORM 概念。将不再只是为关系建模,而是实体和关系之间的混合体。ShoeDesignsShoePiecesShoeDesigns_ShoePieces

如果您有一些附加到和之间关系的属性,则需要执行此ShoeDesigns操作ShoePieces;这意味着“关系”实际上是一个实体

让我们称之为ShoeAssemblyPlan。然后你有:

  • ShoeDesigns和之间的多对多关系ShoeAssemblyPlan
  • ShoeAssemblyPlan和之间的多对多关系ShoePieces

(关系也可以是多对一的)。

您在设计和零件之间的旧关系现在通过组装计划实现,您可以将所需的属性附加到该计划。

例如,您可以有一个“胶水堆叠设计到四件套”装配计划和一个“缝合正式设计到四件套”装配计划;并且您可能有与每个计划相关联的不同成本和提前期。

于 2012-11-14T23:33:38.267 回答