Symfony - Injizieren von Entity Manager in EventSubscriber von Form
Dies ist das erste Mal, dass ich mit EventListener eines Formulars arbeite, sodass ich Probleme habe, wie ich EntityManager darin einfügen kann.
Ich habe diesen Formulartyp mit dem NamenUserType
und in dieser Klasse habe ich einen EventSubscriberAddDepartmentDegreeCourseFieldSubscriber
der Zugriff auf EntityManager benötigt
class UserType extends AbstractType
{
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->addEventSubscriber(new AddProfileFieldSubscriber());
$builder->addEventSubscriber(new AddDepartmentDegreeCourseFieldSubscriber());
}
/**
* @param OptionsResolver $resolver
*/
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'AppBundle\Entity\User'
));
}
}
Das ist meinservices.yml
app.department_course_degree_subscriber:
class: AppBundle\Form\EventListener\AddDepartmentDegreeCourseFieldSubscriber
arguments: ["@doctrine.orm.entity_manager"]
tags:
- { name: kernel.event_subscriber }
Der Fehler, den ich erhalte, lautet wie folgt:
Catchable Fatal Error: Argument 1 an AppBundle \ Form \ EventListener \ AddDepartmentDegreeCourseFieldSubscriber übergeben :: __ construct () muss eine Instanz von Doctrine \ ORM \ EntityManager sein, keine angegeben, aufgerufen in / Users / shairyar / Sites / oxford-portal / src / AppBundle / Form / UserType.php in Zeile 21 und defined
Ich weiß, was der Fehler bedeutet, aber ich dachte, der Dienst, den ich in @ registriert haservices.yml
sollte das @ einspritzEntityManager
also warum bekomme ich diesen Fehler? Was vermisse ich hier? Jede Hilfe wird sehr geschätzt.