我遇到Symfony表单的问题。 错误是:
警告:spl_object_hash()期望参数1为对象,给定数组
有问题的实体是Immovables和Appointment,这是关系代码:
不动产:
/**
* @ORM\ManyToMany(targetEntity="Appointment", mappedBy="immovables", cascade={"persist"})
*/
public $appointment;
/**
* Constructor
*/
public function __construct()
{
$this->appointment = new \Doctrine\Common\Collections\ArrayCollection();
}
预约:
/**
* @ORM\ManyToMany(targetEntity="Immovables", inversedBy="appointment", cascade={"persist"})
* @ORM\JoinTable(name="appointment_immovable")
*/
public $immovables;
public function __construct() {
$this->immovables = new \Doctrine\Common\Collections\ArrayCollection();
}
当有类似这样的CollectionType时,我有一个表单:
->add('immovables', CollectionType::class, array(
'entry_type' => ImmovableAppointmentType::class,
'allow_add' => true,
))
在表单子ImmovableAppointmentType中,我有一个像这样的EntityType:
->add('editoriale', EntityType::class, array(
'class' => 'AppBundle:Immovables',
'label' => false,
'mapped' => false,
'attr' => array('class' => 'form-control'),
'multiple' => false,
'empty_data' => null,
'query_builder' => function (EntityRepository $er) {
return $er->createQueryBuilder('i')
->where('i.deletedBy IS NULL');
},
))
我在Twig模板中扩展,就像Symfony文档中使用的这个小提琴http://jsfiddle.net/847Kf/4/一样。
在控制器中,错误存在于持久性中,但我没有收到错误形式,实际上它是有效的。 但我收到这样的错误:
警告:spl_object_hash()期望参数1为对象,给定数组
我该怎样做才能解决这个错误?