Symfony是一个数据库模式

时间:2010-01-06 03:18:22

标签: php database-design frameworks symfony1

所以我是symfony的新手,并试图在几个表之间建立一个is-a关系。我有一个媒体表,其id字段是主键。然后,除了要有2个或更多的附加表,这些表是该表的“子类”,例如文章或事件表。这些是媒体表的子类,我在这些表中放置了一个media_id字段,该字段与媒体表具有FK约束,并且是特定表的主键。但是,当我根据此模型构建模块时,这种关系并不成立。

例如,当我尝试添加文章时,我必须首先添加媒体项,但是在创建文章表单中,无法向其添加媒体ID。

有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

使用inheritance代替关系:

detect_relations: true
Media:
  columns:
  #columns for all sub classes

Event:
 columns:
 # other columns for Event Subclass
 inheritance:
    extends: Media
    type: column_aggregation
    key_field: type
    key_value: 1

Other:
 columns:
 # other columns for Other Subclass
 inheritance:
    extends: Media
    type: column_aggregation
    key_field: type
    key_value: 2