2016-05-30 3 views
0

У меня есть вопрос относительно формы управления в symfony2. Так что в моем контроллере у меня есть:Отправлять данные от контроллера до формы

$form = $this->createForm(SubMenuType::class); 

В классе SubMenuType у меня есть:

public function buildForm(FormBuilderInterface $builder, array $options) 
{ 
    $aTemplate = Template::$aTemplates; 
    $aMenu = $this->getDoctrine()->getRepository('AppAdminBundle:Menu')->findAll(); 
    $builder 
     ->add('name', TextType::class) 
     ->add('template',ChoiceType::class, array('choices' => $aTemplate,'choices_as_values' => true)) 
     ->add('menu',ChoiceType::class, array('choices' => $aMenu,'choices_as_values' => true)) 
     ->add('save',SubmitType::class, array('label'=> 'Save')) 
    ; 
} 

Вопрос: Как попасть в $aMenu данных из меню объекта в этом SubMenuType? Пожалуйста, помогите мне. Thx заранее

+0

Что вы имеете в виду, говоря: * «Как получить в данных $ AMENU из меню объекта в этом SubMenuType» *? – felipsmartins

+0

@felipsmartins Как использовать '$ this-> getDoctrine() -> getRepository ('AppAdminBundle: Menu') -> findAll()' в SubMenuType? –

+0

Хорошо, если я хорошо понимаю, это должно быть полезно (я уже ответил на это): [Загрузить варианты в раскрывающемся списке формы на основе идентификатора пользователя в symfony 2] (http://stackoverflow.com/questions/30001245/load-options-in-drop-down-on-a-form-on-users-id-in-symfony-2/30001361) или [aaaa] [Symfony forms (как автономный компонент с Doctrine) EntityType не работает ] (http://stackoverflow.com/questions/34727135/symfony-forms-as-standalone-component-with-doctrine-entitytype-not-working/34731619#34731619) – felipsmartins

ответ

0

Самый простой способ решить проблему использует тип EntityType формы:

public function buildForm(FormBuilderInterface $builder, array $options) 
{ 
    $aTemplate = Template::$aTemplates; 
    $builder 
     ->add('name', TextType::class) 
     ->add('template',ChoiceType::class, array('choices' => $aTemplate,'choices_as_values' => true)) 
     ->add('menu', EntityType::class, array(
      'class' => 'AppAdminBundle:Menu', 
      'choice_label' => 'property of your menu entity you want as label' 
     )) 
     ->add('save',SubmitType::class, array('label'=> 'Save')) 
    ; 
}