2016-08-22 1 views
-1

Я использую symfony и doctrine в проекте. I имеют некоторые службы для управления данными и сохранения их в базе данных. Если я вызову 2 или более сервисов (например, службу для расчета и сохранения некоторого значения и обслуживания для уведомления клиента по электронной почте и сохранения этого письма) в одном действии, то будет сделано несколько транзакций. Queation: сохранение данных внутри службы - это плохая практика? Должен ли я использовать сервис для управления только и сохранения объектов в контроллерах?Сохранить объекты в службе

ответ

1

Нет, это не плохая практика.

Вы можете ввести менеджера объектов в свою службу и сделать это в службе.

Иногда вам нужно только позвонить $em->flush(); в ваш контроллер, если ваша служба вызывается более одного раза, чтобы избежать вызова ее более одного раза.

Вы также можете просто очистить одну сущность от службы $em->flush($entity);, остальные сохраняемые объекты останутся в очереди на финальный флеш.

+0

Зачем голосовать? Что я могу добавить? – Alsatian

+1

Я не знаю, что вы говорите, правда, я проголосую :) – DOZ

+1

Некоторым пользователям, которым не нравятся короткие ответы ... – Alsatian