2012-01-02 31 views
0

我有一篇文章和評論實體(一對多)更新評論數,用服務

在評論prepersist生命週期事件,我想看看有多少意見也有對本文以及更新文章的comment_count字段。

如果我正確理解symfony2方法,我需要爲此編寫一個服務。我們稱之爲CommentCountManager。

我的問題是:如何使容器在實體中可用,以便我可以獲得CommentCountManager和triger對給定文章計數註釋的功能,以及如何在我的CommentCountManager中訪問Doctrine的實體管理器以便我可以真的在那裏運行查詢?

我在正確的道路上嗎?

非常感謝您的幫助。

回答

2

您不需要將評論計數存儲在單獨的列中 - 您可以在輸出中對它們進行計數。你想做的是反規範化,我建議避免它,除非你絕對需要它出於性能原因 - 只有當你是當然部分是造成問題。但即使如此,查詢優化和緩存是非規範化的更好選擇。

讓實體知道容器也是一個壞主意。如果你需要這個,那麼你做錯了什麼。

要訪問服務中的實體管理器,您需要inject它。