Symfony 2.我如何设置实体的嵌入表单的默认值?

问题描述:

我需要为我的表单设置默认值。有代码,从我的控制器:Symfony 2.我如何设置实体的嵌入表单的默认值?

$form = $this->createFormBuilder()->add('user', new Form\UserType($user)) 
            ->add('client', new Form\ClientType($client)) 
            ->getForm(); 

而且我有两个entites的:用户&客户端。那么,我如何从entites设置默认值?

在每个用户的表单类和客户端类,你可以设置默认值是这样的:

public function configure() { 
    $this->setDefault('yourfield', $defaultvalue); 
} 
+0

不能在Symfony2上工作。这似乎与Symfony 1.x有关。 – 2012-01-03 13:37:05

我设置的默认值,我的文本字段这样

->add('firstname', 'text', array('attr' => array('value' => 'bla'))) 

为一个实体,您可以将空值设置为false并填充prefrred_choices阵列

->add('language', 'entity', array('empty_value' => false, 'preferred_choices' => array('2'), 'class' => 'CPAppUserBundle:Language',))