我遇到了使用 symfony2 和教义 2 进行表单继承的问题。事情是这样的:
我有一个users
没有什么特别的实体,只有几个字段,名称、电子邮件等......
Ferncoder\Devis\UserBundle\Entity\users:
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
,这个表与实体有 OneToOne 关系users
。
Ferncoder\Devis\UserBundle\Entity\craftsMan:
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 个表单类usersType
和craftsmanType
. 为了创建我的 craftsMan 我已经完成了这样的表格:
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
。我不觉得创建对象可能设置所有属性是最好的方法。
也许我错了。
谢谢,