繁体   English   中英

Doctrine2和Symfony2-对特定实体使用类型的最佳实践

[英]Doctrine2 and Symfony2 - Best practice to use types for a specific entity

我有这个数据库结构:

  • 评论
  • DocTypes
  • 文件
  • 影片
  • 讨论区

用户可以对以下三种文档类型之一发表评论:论文,视频和讨论。

为此,我在DocType中创建了3种类型

id    name
1     paper
2     video
3     discussion

在“注释”表中,我有doc_type_id。

现在,我想使用Comment实体并能够发表评论。 在这种情况下,最佳做法是什么? 例如,有没有办法处理Comment和Paper实体之间的关系,还是应该手动完成所有操作:检查类型并进行切换?

谢谢。

如果我对您的理解正确,则DocType是映射的超类,Paper,Video,Discussion对其进行了扩展。 在这种情况下,你可以只添加OneToMany的关系DocTypeComment

这将在您的comments表中创建引用doctype表的doctype_id字段。 这是假设您正在使用类表继承。

然后,您可以执行以下操作:

 $paper = $this->getDoctrine()->getRepository('Papers\Class\Here')->find(5238953);
 $paper->getComments();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM