我已找到更多关于此的答案,但返回错误"选项"prova"不存在"
我做到了这一点 defaultcontroller.php
$form = $this->createForm(new ProvinciaType(), $provincia, array('prova' => 'ciao'));
Run Code Online (Sandbox Code Playgroud)
在 ProvinciaType.php
public function buildForm(FormBuilder $builder, array $options)
{
$builder->add('name', 'entity', array(
'class' => 'AcmeIndexBundle:Provincia',
'query_builder' => function(EntityRepository $er) {
return $er->createQueryBuilder('u')
->orderBy('u.name', 'ASC');
},'empty_value' => $options['prova']
));
}
Run Code Online (Sandbox Code Playgroud)
但为什么不工作?
只需将其传递给构造函数:
$this->createForm(new ProvinciaType($options), $provincia)
Run Code Online (Sandbox Code Playgroud)
并以以下形式使用它:
public function __construct($options) {
$this->options = $options;
}
Run Code Online (Sandbox Code Playgroud)
然后在buildForm中使用它:
$options = $this->options;
....
function(EntityRepository $er) use ($options)
...
},'empty_value' => $options['prova']
....
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1892 次 |
最近记录: |