面向对象的Doctrine模式

时间:2010-02-20 20:32:56

标签: database-design oop schema doctrine

嘿所有,我正在学习Doctrine + Symfony,为了自己的利益,我可能选择了太复杂的数据模型。

以下是概述:

  • 用户创建Gizmos。
  • 有5个模块可供选择。用户无法定义新的,只能实例化它们。
  • Gizmo可以按任意顺序包含任意数量的实例。实例有一个模块ID。
  • 实例是可配置的,但可用的设置取决于模块ID。 Foo模块可能需要整数和字符串,而条形模块可能需要任意长度的字符串列表。
  • 模块的每个实例都可以提供不同的设置值(一个Gizmo有两个Foo模块实例可以设置(5,“baz”)在一个上,(100,“frob”)在另一个上)。

所以我有一个Instance表,其中包含Instance ID,Gizmo ID,Module ID和Order。

我为每种类型的模块提供了一个表,以实例ID为基础,表示该实例的设置。 FooModule表具有实例ID,整数和字符串。

您可以看到这基本上是一个面向对象的架构。我如何在Doctrine的YAML中表示这些关系?或者我是以错误的方式解决这个问题?

1 个答案:

答案 0 :(得分:-1)

好吧,我想我已经找到了使用Doctrine的“具体继承”功能的答案。这是somebody's explanation of the setup