我有一个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字段设置为正确的实体(标识4)。我认为这是因为我提供的是实体的ID,而不是其实例。有没有一种方法可以提供仅实体的ID来设置此字段,还是唯一的方法来传递我想将字段设置为的实体的实例?
您可以使用转换器,也可以使用“选择”字段而不是“实体”,并注入一个对象以提供选择列表(可能是存储库)。
我个人认为您会发现转换方法更容易。结果代码也将更好
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句