Architecture 保存服务中的实体

Architecture 保存服务中的实体,architecture,doctrine,symfony,Architecture,Doctrine,Symfony,我在项目中使用symfony和doctrine。我 提供一些用于操作数据并将其保存到数据库中的服务。如果我在一次操作中调用2个或多个服务(例如,计算和保存某些值的服务和通过电子邮件通知客户并保存此电子邮件的服务),则将完成多个事务。问题:在服务内部保存数据是一种不好的做法吗?我是否应该仅将服务用于操纵和保存控制器中的实体?不,这不是一个坏做法 您可以将实体管理器注入到您的服务中,并在服务中执行此操作 有时您只需要调用$em->flush() 您还可以使用$em->flush($entity)刷新

我在项目中使用symfony和doctrine。我
提供一些用于操作数据并将其保存到数据库中的服务。如果我在一次操作中调用2个或多个服务(例如,计算和保存某些值的服务和通过电子邮件通知客户并保存此电子邮件的服务),则将完成多个事务。问题:在服务内部保存数据是一种不好的做法吗?我是否应该仅将服务用于操纵和保存控制器中的实体?

不,这不是一个坏做法

您可以将实体管理器注入到您的服务中,并在服务中执行此操作

有时您只需要调用
$em->flush()


您还可以使用
$em->flush($entity)刷新服务中的一个实体其他持久化实体将留在队列中等待最终刷新。

为什么否决投票?我能补充什么?我不知道,你说的是真的,我投票赞成:)一些不喜欢简短答案的用户。。。