Symfony2:使用帖子数据填写表单的某些字段

时间:2013-09-26 11:37:37

标签: php forms symfony

我有一份工作正常的联系表格。但是,当用户在一个链接中单击时,我想填写其中一些字段。我收到表单控制器中某些字段的信息,但我不知道如何使用这些数据显示此表单。

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以在创建表单时传递与数据字段对应的对象:

在您的控制器中:

    $task = new Task();
    $task->setTask('Write a blog post');
    $task->setDueDate(new \DateTime('tomorrow'));

    $form = $this->createFormBuilder($task)
        ->add('task', 'text')
        ->add('dueDate', 'date')
        ->add('save', 'submit')
        ->getForm();

或者,如果您有自己的FormType类,请将其绑定到您的实体:

class MyFormType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        // Build form here
    }
    public function setDefaultOptions(OptionsResolverInterface $resolver)
    {
        // Bind entity here
        $resolver->setDefaults(array(
            'data_class' => 'BlueLinea\Bundle\BlueHomeCareBundle\Entity\MyEntity',
        ));
    }
}

在你的控制器中:

$myEntity = new MyEntity();
$form = $this->createForm(new MyFormType(), $myEntity);

请参阅Forms (Building the Form) - Symfony