Symfony2:fos_user_bundle嵌入注册表单与实体

时间:2013-11-29 10:45:43

标签: php forms symfony fosuserbundle

我有3个实体: - 覆盖用户 - 地址 - 公司

用户实体获得了实体字段地址和公司。

现在我正在尝试使用地址和公司实体中的字段来构建用户注册表单。问题是 - 我不知道如何继续这个。

我试图这样做:

 $this->addCommonFields($builder);
    $builder
        ->add('company', 'entity', array(
            'label' => 'street',
            'class' => 'AcmePsoBundle:Company',
            'property' => 'street',
        ));

然后我收到下拉列表,它应该是textfield。

@Edit:我应该使用DataTransformer吗?

1 个答案:

答案 0 :(得分:0)

您应该为AcmePsoBundle:Company实体创建新的表单类型,并将其用作:

$builder->add('company', new YourCompanyFormType());

YourCompanyFormType.php示例:

class YourCompanyFormType extends AbstractType
{

    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder->add(
            'street',
            'text'
        );
    }

不要忘记将空公司设置为新用户实体$ user-> setCompany(new Company());在表格之前。

相关问题