我使用此代码
$builder->add('userTasks','collection',array('type' => new UserTaskType()));
这很好用
userTasks将是一个不同的userTask对象的集合,这些对象将依次创建表单。
现在有什么方法可以像这样
在构造函数中传递单个UserTask对象$builder->add('userTasks','collection',array('type' => new UserTaskType($userTask)));
这样我就可以用它来为表单生成Label。
是否可能
如果我使用$user->UseTasks
那么这将是所有任务的集合,但我只想要正在创建表单的对象
答案 0 :(得分:1)
如果我正确理解了这个问题,你想根据表格绑定的实际数据对象来调整表单吗?这是那些简单的声音要求之一,实际上有点涉及。
您需要使用表单事件系统: http://symfony.com/doc/master/cookbook/form/dynamic_form_generation.html
一旦你完成了它,就没那么糟了。
===
回答第一条评论:
public function preSetData(DataEvent $event)
{
$data = $event->getData();
$form = $event->getForm();
$ data将是您的对象,在本例中为$ userTask。