我如何可以通过symfony的形式builForm功能额外的变量(How can i pass ex

2019-10-17 02:39发布

这是我的代码

public function buildForm(FormBuilder $builder, array $options , $task )
    {
        $builder
            ->add('genTasks','text',array('label'=>$task->getName()))

        ;
    }

有没有什么办法可以访问内部buildForm在$任务变量

Answer 1:

一种解决方案:

public function buildForm(FormBuilder $builder, array $options)
{
    $task = $options['task'];

    // If you want...
    if(is_null($task)) throw new \LogicException('Task option is required.');

    $builder
        ->add('genTasks', 'text', array('label' => $task->getName()))
    ;
}

public function getDefaultOptions(array $options)
{
    return $options + array('task' => null);
}

并通过你的任务对象作为选项,当您创建表单。



文章来源: How can i pass extra variable in symfony form builForm Function