2016-10-11 4 views
1

私は通常の変数と別のオブジェクトへの参照である変数を持つエンティティを持っています。 symfonyでフォームを構築するには、フォームにオブジェクトと一緒にフォームに必要なフィールドを指定する必要があります。この場合、どうすればいいですか?symfony上のオブジェクトのフィールドを持つフォーム

private $Site; 

    public function getSite() 
    { 
     return $this->Site; 
    } 

    public function setSite(Site $Site) 
    { 
     $this->Site = $Site; 
    } 

マイフォームコード:

$builder 
     ->add('site') 
     ->add('email') 
     ->add('password', RepeatedType::class, array(
      'type' => PasswordType::class, 
      'first_options' => array('label' => 'Password'), 
      'second_options' => array('label' => 'Repeat Password'), 
     )) 
     ->add('termsAccepted', CheckboxType::class, array(
      'mapped' => false, 
      'constraints' => new IsTrue(), 
     )) 
     ->add('registrar', SubmitType::class) 
     ; 

そして、サンザシ、私はフォームを作成:

$user = new User(); 
    $form = $this->createForm(RegisterType::class, $user); 
+0

あなたの質問は私にはあまり明確ではありません。だから、あなたは小さな部分を与えたエンティティを持っています。プロパティの1つは別のテーブルとの関係ですか、はい?エンティティ全体を投稿して、どのフィールドが別のエンティティに関連しているか教えてください。 –

答えて

2

私は思うの参照が別のクラスの呼び出しサイトことを提出して

私のクラス埋め込みフォームは、あなたが探しているものです:

ここ

http://symfony.com/doc/current/form/embedded.html

同様の質問: How to include in entity form type some fields from another entity?

あなたはSiteエンティティからフィールドの表現として、別のフォームタイプ(SiteType)を作成する必要があります。この新しいフィールド->add('site', SiteType::class)をフォームビルダーに追加するだけです。

+0

ありがとうございます!出来た!あなたは素晴らしいです! –

関連する問題