Symfony2: лучший подход к использованию бизнес-логики (хранилища) в сущности или контроллере
У меня возникла проблема с дизайном в моем проекте, связанная с тем, где находится некоторая бизнес-логика.
У меня есть три объекта: Event, TicketOrder и Ticket. У одного события есть много билетов, а у одного - много билетов.
В моем шаблоне я должен показать, сколько билетов имеет событие. Я думал о лучшем подходе для достижения этого и не нашел хорошего решения. Я пробовал это:
1) Создайте приватный член 'ticketsCount' в сущности Event с помощью методов setTicketsCount и getTicketsCount. Создайте метод loadTicketsCount с помощью LifeCycleCallback PostLoad, чтобы получить доступ к методу TicketRepository findByEvent. Это было невозможно, потому что я не могу получить доступ к хранилищу в классе сущностей.
2) В действии, которое будет использоваться для отображения события, я могу получить доступ к Ticket Repository и установить свойство события ticketsCount вручную. Я не знаю, хороший ли это подход, потому что, если в моем действии перечислено много событий, мне придется циклически проходить по всем событиям и делать вызовы репозитория для каждого из них.
Я действительно не знаю лучшего подхода к достижению этого и буду очень признателен, если кто-то сможет мне помочь.
Спасибо! ;)