0

Document という名前のエンティティがあり、「日付」、「番号」などのフィールドがあります。

ページ上で、ユーザーは FORM から新しいドキュメントを追加できます。簡単ですが、(!) ユーザーがフィールドを複製し、一度にいくつかのドキュメントを追加できるようにする必要があります。ユーザーは「追加」(フォーム内のフィールドを複製する) ボタンを何度も押すことができます。これらすべてのエンティティをコントローラーに追加したいと思います。

これは私の FormType クラスです:

public function buildForm(FormBuilderInterface $builder, array $option) {
    $builder->add('date', 'text', array(
        'required'  =>  false,
        'attr'  =>  array(
            'class' =>  'datepicker no-right-margin'
        )
    ));
    $builder->add('number', 'text', array(
        'required'  =>  false
    ));
    ...
}

public function getName()
{
    return 'documenttype';
}

入力の名前を次からハードコーディングしようとしました:

ドキュメントタイプ[日付]

documenttype[date][0] documenttype[date][1] ...etc

...しかし、うまくいきません。それは私にくれました

    object(Ewidencja\CoreBundle\Entity\Document)#406 (8) {
  ["id":protected]=>
  NULL
  ["date":protected]=>
  array(2) {
    [0]=>
    string(10) "2012-08-01"
    [1]=>
    string(10) "2012-08-02"
  }
  ...
}
4

1 に答える 1

0

フォームのコレクションを埋め込む方法のクックブック エントリを参照してください。あなたがそのallow_addオプションに興味を持っていること。

于 2012-08-29T19:02:37.170 に答える