2016-09-27 126 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

好的謝謝你的建議。 –