2012-05-31 7 views
5

In meiner config-Datei Ich habe definiert benutzerdefinierten Entity-Manager zu injizieren:Wie @session Service, um benutzerdefinierte EntityManager in Symfony2

parameters: 
    doctrine.orm.entity_manager: 
     class: Strict\UserBundle\Entity\Manager\MyEntityManager 

Ist das ein Weg zu injizieren/add @session Service (Ich brauche den Zugang zu bekommen zur getLocale() Methode) in diesen Entity Manager? Ich habe dies versucht:

parameters: 
    doctrine.orm.entity_manager: 
     class: Strict\UserBundle\Entity\Manager\MyEntityManager 
     arguments: 
      session: "@session" 

aber es wirft diese Ausnahme:

InvalidArgumentException: You cannot dump a container with parameters that contain references to other services (reference to service "session" found in "/doctrine.orm.entity_manager/arguments/session"). 

Irgendwelche Ideen?

Antwort

16

Parameter keine Dienste als Argumente lassen, haben Sie versucht, das Gleiche zu tun, sondern einen Dienst mit:

service: 
    my.entity.manager: 
     class: Strict\UserBundle\Entity\Manager\MyEntityManager 
     arguments: 
     session: "@session" 
+0

Funktioniert prima - ich habe vergessen zu Service :) –

Verwandte Themen