我有3个实体: - 覆盖用户 - 地址 - 公司
用户实体获得了实体字段地址和公司。
现在我正在尝试使用地址和公司实体中的字段来构建用户注册表单。问题是 - 我不知道如何继续这个。
我试图这样做:
$this->addCommonFields($builder);
$builder
->add('company', 'entity', array(
'label' => 'street',
'class' => 'AcmePsoBundle:Company',
'property' => 'street',
));
然后我收到下拉列表,它应该是textfield。
@Edit:我应该使用DataTransformer吗?
答案 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());在表格之前。