2017-02-15 8 views
0

Пожалуйста, кто-нибудь скажет мне, почему я получаю сообщение об ошибке.Ошибка при отправке формы Symfony 2

public function trainingAction() 
{ 
    $em = $this->getDoctrine()->getManager(); 

    $Date = new AcademyTraining(); 
    $Date->setDate(new \DateTime('tomorrow')); 
    $Time = new AcademyTraining(); 
    $Time->setTime(); 
    $Topics = new AcademyTraining(); 
    $Topics->setTopics(''); 
    $Leader = new AcademyTraining(); 
    $Leader->setLeader(''); 
    $Details = new AcademyTraining(); 

    $Dateform = $this->createFormBuilder($Date) 
     ->add('date', DateType::class, array(
      'label' => false, 
      ) 
     ) 
     ->getForm(); 

    $Timeform = $this->createFormBuilder($Time) 
     ->add('time', TimeType::class, array(
      'input' => 'datetime', 

      'label' => false, 
      ) 
     ) 
     ->getForm(); 

    $Topicsform = $this->createFormBuilder($Topics) 
     ->add('Topics', TextType::class, array(
      'label' => false, 
      ) 
     ) 
     ->getForm(); 

    $Leaderform = $this->createFormBuilder($Leader) 
     ->add('Leader', ChoiceType::class, array(
      'choices' => array(
       'name' => 'Name', 
       'name2' => 'Name 2' 
      ), 
      'label' => false, 
      ) 
     ) 
     ->getForm(); 


    $SessionSubmitForm = $this->createFormBuilder($Details) 
     ->add('save', SubmitType::class, array(array('label' => 'Save Changes')) 
     ) 
     ->getForm(); 

    $user = $this->get('security.token_storage')->getToken()->getUser(); 
    $applicantstatus = $user->getApplicantStatus(); 



    if ($SessionSubmitForm->isSubmitted() && $SessionSubmitForm->isValid()) { 

     $Details = $Leaderform->getData(); 
     $Details = $Dateform->getData(); 
     $Details = $Timeform->getData(); 
     $Details = $Topicsform->getData(); 

     $em = $this->getDoctrine()->getManager(); 
     $em->persist($Details); 
     $em->flush(); 

     return $this->redirectToRoute('task_success'); 
    } 

    return $this->render('AppBundle:Academy/Applicants:trainingPTSpage.html.twig', array(
     'Timeform' => $Timeform->createView(), 
     'Topicsform' => $Topicsform->createView(), 
     'Dateform' => $Dateform->createView(), 
     'Leaderform' => $Leaderform->createView(), 
     'officers' => $em->getRepository('AppBundle:TrainingParticipants')->findAll(), 
     'session' => $em->getRepository('AppBundle:AcademyTraining')->findAll(), 
     "applicantstatus" => $applicantstatus 

    )); 

} 

Ошибка:

Опция "0" не существует. Определенные варианты: "атр", "auto_initialize", "block_name", "отключен", "метка", "label_format", "translation_domain", "validation_groups"

Эта форма используется для чтения в деталях для учебную сессию. Он использует Symfony для генерации формы. Я сделал отдельные формы для каждого из полей. Я считаю, что может быть неправильное форматирование для форм и свойств их, однако я не уверен, что это причина ошибки.

ответ

1

У вас есть многомерный массив, вы должны объявить ассоциативный массив, например:

$SessionSubmitForm = $this->createFormBuilder($Details) 
    ->add('save', SubmitType::class, array('label' => 'Save Changes') 
    ) 
    ->getForm(); 
+0

Это работало спасибо! – UnknownPerson

+0

Приветствую вас, а затем оцениваю мой ответ как правильный. – panche14

Смежные вопросы