2016-09-27 96 views
0

考虑这两个实体:双向或单向多对一doctrine2关联映射

class Comment { 
     private $id; 
     private $author; 
     private $content; 

     /** 
     * @ORM\ManyToOne(targetEntity="PM\PlatformBundle\Entity\Article") 
     * @ORM\JoinColumn(nullable=false) 
     */ 
     private $article; 
     //getters setters 
    } 

    class Article { 
     private $id; 
     private $author; 
     private $content; 
     //getters setters 
    } 

我选择了他们之间的单向关系多对一。但我不知道双向是否是这个案例的好主意: 例如,我必须对单个视图文章中的一篇文章的所有评论进行排序。同样在后台(管理)中,我希望能够对一篇文章的所有评论进行排序,并在我选择删除此文章时将其删除。在所有其他情况下(评论一篇文章...)unidectional是伟大的。 我知道有可能用单向的方法来实现这个功能。

你有什么建议?

回答

1

这一切都取决于您对这些实体的使用情况,但如果文章知道哪些评论与其自身相关联,则我认为它更有用。这样,你可以很容易地操纵文章评论,而无需使用存储库,或在树枝模板等...

而且,因为我不是真正的使用第三个表的大粉丝(与OneToMany单向映射)实体两个表执行工作,我会建议使用双向映射。

+0

好的谢谢你的建议。 –