1

フォームビルダーからフィールド値を取得するにはどうすればよいですか?

私のコントローラー:

$region = new Region();
$region->setName('TEMP!!');

$formBuilder = $this->createFormBuilder(array('region' => $region));

$formBuilder->add('region', new RegionAjaxType);

そしてフォームタイプ:

/**
 * @{inerhitDoc}
 */
public function buildForm(FormBuilderInterface $builder, array $options)
{
    $region = ....
    $builder
       ->add('name', 'text');
}

変数を取得するためにビルダーフォームから領域オブジェクトを取得したい。

4

1 に答える 1

0

オプションにはパラメータ「データ」があります

使用例:

/**
 * @{inerhitDoc}
 */
public function buildForm(FormBuilderInterface $builder, array $options)
{
    $region = $options['data'];
    $builder
       ->add('name', 'text');
}

そして、使用タイプを制御しますOptionsResolver

public function setDefaultOptions(OptionsResolverInterface $resolver)
{
    $resolver
        ->setDefaults(array(
            'region' => new Region
        ))
        ->addAllowedTypes(array(
            'region' => 'Acme\DemoBundle\Entity\Region',
        ))
    ;
}
于 2013-02-08T10:38:18.097 に答える