Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 更多关于symfony2学说和关系的信息_Php_Database_Symfony_Doctrine - Fatal编程技术网

Php 更多关于symfony2学说和关系的信息

Php 更多关于symfony2学说和关系的信息,php,database,symfony,doctrine,Php,Database,Symfony,Doctrine,现在,我已经设置了幻灯片播放容器,如: 地理区域、建筑物、服务器 在不同的实体中,从一个超类映射 现在我面临的下一个问题是:我希望能够将这些容器的内容与其中任何一个容器关联起来 这就是我最初考虑使用一个容器实体并使用INT标志设置containertype的原因,但从面向对象的角度来看,我认为这并不顺利或正确 现在,我当然可以在我的实体“内容”中为每个可能的容器设置FK字段,并将它们设置为可空,并且只使用其中一个,但我觉得我在这里陷入了一种陈规,跳出框框思考。。。我想使获取容器及其相关内容尽可能

现在,我已经设置了幻灯片播放容器,如: 地理区域、建筑物、服务器

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

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

这就是我最初考虑使用一个容器实体并使用INT标志设置containertype的原因,但从面向对象的角度来看,我认为这并不顺利或正确

现在,我当然可以在我的实体“内容”中为每个可能的容器设置FK字段,并将它们设置为可空,并且只使用其中一个,但我觉得我在这里陷入了一种陈规,跳出框框思考。。。我想使获取容器及其相关内容尽可能简单


每个内容只与一个容器相关,因此,当从不使用多个容器时,有3个FK字段会让人觉得很愚蠢……

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

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

我不确定是否遵循,也许我不清楚。假设我有一个geoarea母实体和一个building母实体,然后我有3个子实体(幻灯片放映的幻灯片)。其中两个子实体将属于geoarea母实体,一个子实体将属于建筑母实体。我无法通过在母实体中放置FK来解决这个问题,因为那里存在一对多关系。一种解决方案是将FK放在子对象中,但我需要为每种类型的母实体使用一个FK,对吗?在为GUI执行这些表单时,似乎会遇到麻烦。我将查看nb1 Thanks可能我不理解您的问题,但是如果您的孩子和母亲之间有多个关系,它将在您的孩子中创建一个引用您母亲的FK。我意识到我处理的是同一个对象,所以我添加了一个子属性容器类型和FK:ed,所以现在我只对所有类型的容器使用一个实体。有时计划会有点偏离方向。。。至少对我来说=)