Symfony 2 表单继承



我在使用 symfony2 和 doctrine2 进行表单继承时遇到了问题。事情是这样的:

我有一个实体users没有什么特别的,只有几个字段,上面有名称、电子邮件等......

FerncoderDevisUserBundleEntityusers:
  type: entity
  table: null
  fields:
    id:
      type: integer
      id: true
      unsigned: true
      nullable: false
      generator:
        strategy: AUTO
    name:
      type: string
      length: '45'
      nullable: false

我有一个实体craftsMans这个表与users实体有一对一的关系。

FerncoderDevisUserBundleEntitycraftsMan:
  type: entity
  oneToOne:
    user:
      targetEntity: users
      joinColumn:
        name: user_id
        referencedColumnName: id
  table: null
  fields:
    id:
      type: integer
      id: true
      unsigned: true
      nullable: false
      generator:
        strategy: AUTO

我已经生成了 2 个表单类 usersTypecraftsmanType .为了创建我的工匠,我已经完成了我的形式:

class craftsManType extends AbstractType
{
    public function buildForm(FormBuilder $builder, array $options)
    {
        $builder
            ->add('user', new usersType())
            ->add('company', 'text')
            ->add('fieldOfActivities', 'text')
            ->add('legalForm', 'text')
            ->add('siret', 'text')
            ->add('website', 'text')
            ->add('description', 'textarea')
            ->add('services', 'textarea')
            ->add('employee', 'text')
            ->add('phone', 'text')
        ;
    }

我的表单看起来很酷,直到我想获取字段的值。问题是我的'user'字段作为数组而不是实体返回。我错过了什么吗?如何从字段生成我的用户对象 user .我不觉得创建对象可能设置所有属性是最好的方法。

也许我错了。

谢谢

必须设置 data_class 选项以返回对象而不是数组。下面的文档说明,当表单嵌入到另一个表单中时,必须使用 data_class。

文档 : http://symfony.com/doc/current/book/forms.html#book-forms-data-class

在控制器中:

$form->getData()->getUser();

相关内容

  • 没有找到相关文章

最新更新