[英]Setting a Symfony2 Entity form field using it's id
我有一个 Symfony2 未映射表单,它有一个“实体”类型的字段。 这是表单类型定义:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('RegistrationForgotEmailTemplate', 'entity', array(
'class' => 'EmailBundle:EmailTemplate',
'placeholder' => '-- Default ---',
));
}
这是我构建表单实例的地方:
$data = array('RegistrationForgotEmailTemplate' => 4);
$form = $this->createForm($formType, $data, array(
'action' => $url,
'method' => 'POST'
));
我的问题是表单没有将 RegistrationForgotEmailTemplate 字段设置为正确的实体(id 4)。 我认为这是因为我提供的是实体的 id 而不是它的实例。 有没有办法提供实体的 id 来设置这个字段,或者是传递我想设置字段的实体实例的唯一方法?
您可以使用转换器,也可以使用“选择”字段而不是“实体”并注入一个对象来提供选择列表(可能是存储库)。
我个人认为你会发现变压器方法更容易。 生成的代码也会更好
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.