Symfony2: лучший подход к использованию бизнес-логики (хранилища) в сущности или контроллере

У меня возникла проблема с дизайном в моем проекте, связанная с тем, где находится некоторая бизнес-логика.

У меня есть три объекта: Event, TicketOrder и Ticket. У одного события есть много билетов, а у одного - много билетов.

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

1) Создайте приватный член 'ticketsCount' в сущности Event с помощью методов setTicketsCount и getTicketsCount. Создайте метод loadTicketsCount с помощью LifeCycleCallback PostLoad, чтобы получить доступ к методу TicketRepository findByEvent. Это было невозможно, потому что я не могу получить доступ к хранилищу в классе сущностей.

2) В действии, которое будет использоваться для отображения события, я могу получить доступ к Ticket Repository и установить свойство события ticketsCount вручную. Я не знаю, хороший ли это подход, потому что, если в моем действии перечислено много событий, мне придется циклически проходить по всем событиям и делать вызовы репозитория для каждого из них.

Я действительно не знаю лучшего подхода к достижению этого и буду очень признателен, если кто-то сможет мне помочь.

Спасибо! ;)

Ответы на вопрос(1)

Ваш ответ на вопрос