Обновление счетчика комментариев статьи на предварительный список комментариев должным образом, с услугами - PullRequest
0 голосов
/ 02 января 2012

У меня есть объект Article and Comment (oneToMany)

В событии жизненного цикла Preperist для комментариев я хочу подсчитать, сколько комментариев есть к этой статье, и обновить поле Article_count для Comment.

Если я правильно понимаю подход symfony2, мне нужно написать сервис для этого. Давайте назовем это CommentCountManager.

Мой вопрос: как именно сделать контейнер доступным в сущности, чтобы я мог получить CommentCountManager и активировать функцию подсчета комментариев для данной статьи, и как мне получить доступ к менеджеру сущностей Doctrine в моем CommentCountManager, чтобы я мог на самом деле выполнять запросы там?

Я на правильном пути?

Ваша помощь очень ценится.

1 Ответ

2 голосов
/ 02 января 2012

Вам не нужно хранить количество комментариев в отдельном столбце - вы можете посчитать их на выходе. То, что вы пытаетесь сделать, - это денормализация, и я рекомендую избегать ее, если она вам абсолютно не нужна по соображениям производительности, и только тогда, когда вы уверены , что эта часть вызывает проблемы. Но даже в этом случае оптимизация запросов и кэширование являются гораздо лучшими альтернативами денормализации.

Информирование сущностей о контейнере также является плохой идеей. Если вам это нужно, значит, вы делаете что-то не так.

Чтобы получить доступ к диспетчеру сущностей в службе, вам необходимо ввести it.

...