Get service container from entity in symfony 2.1 (Doctrine)
doctrine, php, service, symfony
Solution
An entity is a data model and should only hold data (and not have any dependencies on services). If you want to modify your model in case of a certain event (PrePersist in your case) you should look into making a Doctrine listener for that. You can inject the container when defining the listener:
services:
my.listener:
class: Acme\SearchBundle\Listener\YourListener
arguments: [@your_service_dependency_or_the_container_here]
tags:
- { name: doctrine.event_listener, event: prePersist }
Problem
How to use entity as service in doctrine (Using Symfony 2.1). Example usage: ``` <?php namespace MyNamespace; class MyEntity { protected $container = NULL; public function __construct($container) { $this->container = $container; } /** * @ORM\PrePersist */ public function() { // Must call to container and get any parameters // for defaults sets entity parameters $this->container->get('service.name'); } } ``` As a result, I need to get access to the entire container.