繁体   English   中英

使用它的 id 设置一个 Symfony2 实体表单字段

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM