2016-06-24 126 views
0

我有几个实体和一个实体“Comment”,它只有字符串内容。我希望其他实体是“可评论的”,因此他们类型的每个对象都可以有很多评论。Symfony将许多实体类型OneToMany绑定到一个实体

我可以以某种方式设置这些实体OneToMany关系的方式,不会在数据库中造成混乱吗?我感兴趣的是一个解决方案,它不需要我为Comment实体中的每个可评论实体创建一个字段,并指向该评论的特定实体。有些东西会使评论实体拥有评论对象的ID和它的类型。可能吗?

+2

看起来你希望我们为你写一些代码。尽管许多用户愿意为遇险的编码人员编写代码,但他们通常只在海报已尝试自行解决问题时才提供帮助。证明这一努力的一个好方法是包含迄今为止编写的代码,示例输入(如果有的话),期望的输出以及实际获得的输出(控制台输出,回溯等)。您提供的细节越多,您可能会收到的答案就越多。检查[FAQ](http://meta.stackexchange.com/q/7931)和[问](https://stackoverflow.com/help/asking)。 –

回答

1

可以肯定这是可能的:

1)创建领域实体 '评论':身份证,CLASS_NAME(串),类标识码(INT,当你的ID是整数)和评论(串)。

2)创建新评论时,保存评论所属实体的类名称,评论所属对象的class_id和您的评论。

3)在您的Entities资源库中创建一个函数(或创建一个trait),使用例如QueryBuilder通过class_id检索所有注释等。

第3步也适用于所有更新/删除等,因为由于在Doctrine中不会有任何托管关联,所以您必须自行处理它。

玩得开心。

相关问题