更多关于symfony2学说和关系

时间:2012-08-02 14:02:04

标签: php database symfony doctrine

所以现在我已经设置了我的幻灯片容器,如: Geoarea,建筑,服务器

在不同实体中,从一个超类映射。

现在我面临的下一个问题是:我希望能够将这些容器的内容与其中一个容器相关联......

这就是我最初只考虑拥有一个容器实体并设置带有INT标志的容器类型的原因,但是我认为OO-wise是不顺畅或正确的。

现在,我当然可以在我的实体'content'中为每个可能的容器添加FK字段,并将它们设置为可空并且仅使用其中一个,但我觉得我在这里陷入困境,想一想在盒子外...我想取一个容器,它的相关内容尽可能简单......

每个内容只与一个容器相关,因此从不使用多个容器时有3个FK字段感觉很蠢......

1 个答案:

答案 0 :(得分:0)

你有两个解决方案。第一种是使用继承:Inheritance Mapping,但您的数据库中会有一些冗余。

第二个解决方案是在您的Child实体中添加FK,而不是在您的Mother实体中添加三个。 因此,您将在Common超类中存储公共数据。