Allen More
Allen More

Reputation: 908

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

I am trying to separate data access from my controllers in a Symfony 3 application. Symfony allows Doctrine mediated DB queries to be made via a repository class that extends the EntityRepository class, but I'm having trouble finding a way to persist objects to the DB outside of a class that inherits from the controller base class. Simply put: How can I persist an Entity object to a DB via Doctrine outside of a controller in Symfony?

Thanks for your help.

Upvotes: 0

Views: 1113

Answers (1)

zizoujab
zizoujab

Reputation: 7800

You have two options ,

Say that the class you want to persist objects with a class named DBManager

  1. Define DBManager as a service and inject doctrine entity manager into this class. This thread may help you
  2. Make DBManger extends ContainerAware, like that you will already have entity manager along with other services like mailer, logger, etc. Take a look at this answer for more details on how to do it

Upvotes: 1

Related Questions