大家好我有Symfony2 FormBuilder的一些问题,实际上,我有一个实体用户链接(OneByOne)实体地址,它似乎很简单,但当我'米试图将地址类型表嵌入到用户类型一:我面临着这样的例外:Symfony2:窗体的视图数据问题
表单的视图数据有望成为一流的Acme \包\ AddressBundle \实体\住址的实例,但一个实例类Doctrine \ Common \ Collections \ ArrayCollection。您可以通过将“data_class”选项设置为null或添加将Doctrine \ Common \ Collections \ ArrayCollection类的实例转换为Acme \ Bundle \ AddressBundle \ Entity \ Adresse实例的视图转换器来避免此错误
我把这里的一些代码(减少是可读的),使我的问题更加understable:
我的用户类(扩展了FosUserBundle一个人):
class User extends BaseUser
{
...
/**
* @ORM\OneToOne(targetEntity="Acme\bundle\AddressBundle\Entity\Address", cascade={"persist", "remove"})
* @ORM\JoinColumn(nullable=true)
* @Assert\Valid
*/
public $address;
.......
}
临客d表单类型buildForm功能:
public function buildForm(FormBuilderInterface $builder, array $options)
{
parent::buildForm($builder, $options);
// add your custom field
$builder->add('name','text')
->add('address',new AddressType(),array(
'data_class' => 'Acme\Bundle\AddressBundle\Entity\Address'
)
);
}
我的地址表单类型:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('city','text')
->add('title','text');
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'Acme\Bundle\AddressBundle\Entity\Address'
));
}
预先感谢您的帮助!
您是否尝试过在错误消息中建议的内容? – cheesemacfly
是的,我试过了,但是当我做这个消息时:spl_object_hash()期望参数1是对象,给出的字符串 –