我正在尝试为我的一个实体制作编辑表单。我已经成功创建了一个添加表单,但是在编辑视图上它根本不起作用。我只得到错误:
表单的视图数据应为标量、数组或\ArrayAccess 的实例类型,但它是类TA\ManagerBundle\Entity\TaReservation 的实例。您可以通过将“data_class”选项设置为“TA\ManagerBundle\Entity\TaReservation”或添加将 TA\ManagerBundle\Entity\TaReservation 类的实例转换为标量、数组或 \ 的实例的视图转换器来避免此错误数组访问。
TaReservation 有 TaReservationType,其中有两个集合:
->add('topay', 'collection', array(
'required' => false,
'type' => new TaTopayType(),
'allow_add' => true,
'allow_delete' => true,
'by_reference' => false,
'options' => array('data_class' => 'TA\ManagerBundle\Entity\TaTopay'),
->add('client', 'collection', array(
'required' => false,
'type' => new TaClientType(),
'allow_add' => true,
'allow_delete' => true,
'by_reference' => false,
'options' => array('data_class' => 'TA\ManagerBundle\Entity\TaClient'),
在删除该集合或更改之后
$entity = $em->getRepository('TA\ManagerBundle\Entity\TaReservation')->find($id);
至
$entity = new TaReservation();
一切正常 - 编辑字段中没有数据。谁能告诉我如何修复它?