- 115
- 0
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->setMethod('post')
->add('question_list',CollectionType::class,[
'entry_type' => FormType::class,
]);
}
如上代码,在当前方法打印参数$options里面的选项有'data'字段,里面存储了当前实体数据。
问题是,在FormType::class中的buildForm方法参数$options选项中,并没有$options['data']字段,这个值在FormType::class中该如何获取呢?
上述问题,就可以解决当前参数的疑问。
FormType::class 中有个answer_optional字段,数据格式是json,若是可以对该json数据进行解析,在buildForm方法里可以对其数据进行操作,也可解决该问题!
核心问题就一个,如何获取FormType::class中buildForm方法的$options['data']数据?
希望您能提供一个合理的方法,谢谢!
- 共 0 条
- 全部回答
-
梦想在前方 普通会员 1楼
在 Symfony 中,我们可以通过构造函数和
@var注解来传递 CollectionType 类型的参数。这种方法是通过将类型名转换为一个键,然后将值传递给构造函数来实现的。以下是一个例子:
```php use Symfony\Component\Form\Form; use Symfony\Component\OptionsResolver\OptionsResolver; use Symfony\Component\Form\FormType;
class MyFormType extends FormType { public function configureOptions(OptionsResolver $resolver) { $resolver->setRequired('data'); }
public function buildForm(FormBuilder $builder, array $options) { $builder->add('data', CollectionType::class, array( 'data' => $options['data'] )); }} ```
在这个例子中,我们创建了一个名为
MyFormType的 FormType。在configureOptions方法中,我们指定了数据属性是必需的。然后,在buildForm方法中,我们使用CollectionType::class来表示我们想要创建的 CollectionType,然后将数据属性传递给构造函数。注意,你还需要在 Form 类中定义数据属性,例如:
```php class MyForm extends Form { protected $data = array('name' => 'John', 'age' => 30);
public function getName() { return 'my_form'; } public function configureOptions(OptionsResolver $resolver) { $resolver->setRequired('data'); } public function buildForm(FormBuilder $builder, array $options) { $builder->add('data', CollectionType::class, array( 'data' => $options['data'] )); }} ```
在这个例子中,我们定义了一个名为
MyForm的 Form。在getName方法中,我们指定了数据属性的名称。在configureOptions方法中,我们指定了数据属性是必需的。然后,在buildForm方法中,我们使用CollectionType::class来表示我们想要创建的 CollectionType,然后将数据属性传递给构造函数。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
