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

Posted

技术标签:

【中文标题】Symfony 2. 如何为实体的嵌入表单设置默认值?【英文标题】:Symfony 2. How I can set default values to embedded forms from entities? 【发布时间】:2012-01-19 23:57:12 【问题描述】:

我需要为我的表单设置默认值。有代码,来自我的控制器:

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

我有两个实体:用户和客户。那么,如何设置实体的默认值?

【问题讨论】:

【参考方案1】:

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

->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', ))

【讨论】:

【参考方案2】:

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

public function configure() 
  $this->setDefault('yourfield', $defaultvalue);
 

【讨论】:

不适用于 Symfony2。这似乎与 Symfony 1.x 相关。

以上是关于Symfony 2. 如何为实体的嵌入表单设置默认值?的主要内容,如果未能解决你的问题,请参考以下文章

Symfony2 - 验证不适用于嵌入式表单类型

Symfony 2 使用一对多数据库关系的嵌入式表单

Symfony嵌入了ManyToOne关系

Symfony 5 如何为 argon2 存储盐?

更新CoreData模型版本时如何为实体的新属性设置默认值

如何为我的 React 表单组件中的选择菜单设置默认值?