2017-10-02 6 views
0

で子エントリタイプとして使用するのと同じEntityType、私はFormBuilder内部CollectionTypeは中に埋め込まれた形でChildTypeとして親エンティティを使用しようとしている:symfonyの3 - 私のsymfony 3.3.2プロジェクトでCollectionTypeは

class PieceType extends AbstractType 
{ 

public function buildForm(FormBuilderInterface $builder, array $options) 
{ 
    $builder->add('reference' , TextType::class , array(
       'required' => true, 
      )) 
      ->add('designation' , TextType::class, array(
       'required' => true, 
      )) 
      ->add('prix' , NumberType::class, array(
       'required' => true, 
      )) 
      ->add('quantite' , NumberType::class) 
      ->add('etat') 

      ->add('equivalents' , CollectionType::class , array(
        'entry_type' => PieceType::class , 
        'allow_add' => true, 
        'allow_delete' => true, 
        'prototype' => true, 
        'attr' => array(
        'class' => 'pieces_form-collection', 
       ), 
      )) 


      ->add('caracteristiques' , CollectionType::class , array(
        'entry_type' => CaracteristiqueType::class , 
        'allow_add' => true, 
        'allow_delete' => true, 
        'prototype' => true, 
        'attr' => array(
        'class' => 'caract_form-collection', 
       ), 
      )) 

    } 
} 

PieceTypeをchildTypeとして使用すると、プロジェクトが機能せず、白いページしか表示されません。 ご提案はありますか?

答えて

0

私はそれをすることによって、コントローラで私childTypeを追加FIXE:

public function editAction(Request $request, Piece $piece) 
{ 
    $editForm = $this->createForm('EK\AdministrationBundle\Form\PieceType', 
    $piece); 

    $form = $editForm 
      ->add('equivalents' , CollectionType::class , array(
        'entry_type' => PieceType::class , 
        'allow_add' => true, 
        'allow_delete' => true, 
        'prototype' => true, 
        'attr' => array(
        'class' => 'pieces_form-collection', 
       ), 
    )); 

    return $this->render('EKAdministrationBundle:Piece:edit.html.twig', 
    array('edit_form' => $form->createView(),)); 
} 
関連する問題