Symfony2表单 - 编辑已保存的数据

时间:2013-02-02 12:46:28

标签: symfony-2.1

我正在寻找指导如何预先填充从现有对象获取的数据的表格。我想它应该使用方法setData,我期待一些简单的事情 $form->setData($existingObject)但没有成功。

为了更好的解释,我们有一个简单的例子。
我有用户输入其个人数据的表格。通过调用form.factory,

在控制器中创建表单
$form = $this->get('form.factory')->create(new personType());

我有表单类“personType”,这个表单类定义了名为“person”的data_class对象。用户提交表单,数据保存在对象人中,此对象保存在会话中。我需要选项重新打开表单并填写保存在会话中存储的对象中的数据。

1 个答案:

答案 0 :(得分:0)

在控制器中,您需要创建/查找对象,然后将其传递给createForm

  

$ task = new Task();
  $ task-> setTask('写博客文章');
  $ task-> setDueDate(new \ DateTime('tomorrow'));

     

$ form = $ this-> createForm(new TaskType(),$ task);

http://symfony.com/doc/master/book/forms.html#creating-form-classes

在你的例子中,试试

  

$ person = ...;
   $ form = $ this-> get('form.factory') - > create(new personType(),$ person);