У меня большая проблема, и после нескольких часов исследований я не нашел ответа ...
У меня есть 2 формы , и я звоню один в другой.
Когда я даю своей форме опцию «entity_manager», у меня появляется следующее сообщение об ошибке:
Опция "entity_manager" не существует.
НО , когда я удаляю эту опцию, у меня есть следующее:
Отсутствует обязательная опция "entity_manager".
Вот мой код:
CandidatureController.php
$candidature = new Candidature();
$formCandidature = $this->createForm('PDF\RecrutementBundle\Form\CandidatureType', $candidature, array('entity_manager' => $entityManager, 'form' => 'candidature'));
$formCandidature->handleRequest($request);
$formOrientation = $this->createForm('PDF\RecrutementBundle\Form\CandidatureType', $candidature, array('entity_manager' => $entityManager, 'form' => 'orientation'));
CandidatureType.php
public function buildForm(FormBuilderInterface $builder, array $options) {
$this->em = $options['entity_manager'];
$form = $options['form'];
if ($form == 'candidature') {
$builder->add('caCommentairesituation', TextareaType::class)
->add('caCommentaire', TextareaType::class)
->add('profils', CollectionType::class, array('entry_options' => ['entity_manager' => $this->em], 'entry_type' => ProfilType::class,'allow_add' => true, 'allow_delete' => true,'prototype' => true))
->add('fkMobilitegeographique', EntityType::class, array('class'=>'PDF\RecrutementBundle\Entity\Mobilitegeographique', 'choice_label'=>'mgLibelle'))
->add('fkSituationprofessionnelle',EntityType::class, array('class'=>'PDF\RecrutementBundle\Entity\Situationprofessionnelle', 'choice_label'=>'spLibelle'))
->add('fkTypecandidature', EntityType::class, array('class'=>'PDF\RecrutementBundle\Entity\Typecandidature', 'choice_label'=>'tcLibelle'))
->add('fkProvenance', EntityType::class, array('class'=>'PDF\RecrutementBundle\Entity\Provenance', 'choice_label'=>'prLibelle'));
} else {
$builder->add('orientations', CollectionType::class, array('entry_options' => ['entity_manager' => $this->em], 'entry_type' => OrientationType::class, 'allow_add' => true, 'allow_delete' => true, 'prototype' => true));
}
}
public function configureOptions(OptionsResolver $resolver) {
$resolver->setDefaults(array(
'data_class' => 'PDF\RecrutementBundle\Entity\Candidature',
'form' => false
));
$resolver->setRequired('entity_manager');
}
OrientationType.php
public function buildForm(FormBuilderInterface $builder, array $options) {
$builder->add('orLibelle', TextType::class)
->add('orDescription', TextType::class)
->add('orArchive')
->add('orDiffusion')
->add('fkCategorieorientation', EntityType::class, array('class'=>'PDF\RecrutementBundle\Entity\CategorieOrientation', 'choice_label'=>'coLibelle'))
->add('candidatures', CollectionType::class, array('entry_type' => CandidatureType::class, 'allow_add' => true, 'allow_delete' => true));
}
public function configureOptions(OptionsResolver $resolver) {
$resolver->setDefaults(array(
'data_class' => 'PDF\RecrutementBundle\Entity\Orientation'
));
}
Так, как я могу решить это?
PS : Извините за мой плохой английский.