如何使用带有Doctrine的Symfony 3将对象持久化到控制器外的数据库


How to persist object to database outside of a controller using Symfony 3 with Doctrine

我正在尝试从Symfony 3应用程序中的控制器分离数据访问。Symfony允许通过扩展EntityRepository类的存储库类进行Doctrine中介的DB查询,但是我很难找到一种方法来对象持久化到从控制器基类继承的类之外的DB。简单地说:我如何通过学说在Symfony的控制器外持久化一个实体对象到一个数据库?

谢谢你的帮助。

你有两个选择,

说你想用一个名为DBManager的类持久化对象的类

  1. DBManager定义为服务,并将原则实体管理器注入该类。这个线程可能会帮助你
  2. 使DBManger扩展ContainerAware,这样您将已经拥有实体管理器以及其他服务,如邮件,日志记录器等。看看这个答案,了解更多关于如何做到这一点的细节