Tôi đang cố gắng lấy một loại biểu mẫu và hiển thị nó theo thời gian tôi cần cho người dùng tải lên bản tải lên bản vá cùng một lúc. Vì vậy, nói 30 tệp để tải lên, 30 biểu mẫu trên trang. Tôi nhận được lỗi này:Lỗi bộ sưu tập biểu mẫu
The form's view data is expected to be of type scalar, array or an instance of \ArrayAccess, but is an instance of class MS\CoreBundle\Entity\Photo. You can avoid this error by setting the "data_class" option to "MS\CoreBundle\Entity\Photo" or by adding a view transformer that transforms an instance of class MS\CoreBundle\Entity\Photo to scalar, array or an instance of \ArrayAccess.
Mã Loại Gallery là:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('photo', 'collection', array(
'type' => new PhotoType(),
'allow_add' => true,
'data_class' => 'MS\CoreBundle\Entity\Photo',
'prototype' => true,
'by_reference' => false,
));
}
Mã Ảnh Type là:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('description', 'text', array('label' => "Title:", 'required' => true))
->add('File')
->add('album', 'entity', array(
'class' => 'MSCoreBundle:Album',
'property' => 'title',
'required' => true,
'query_builder' => function(EntityRepository $er)
{
return $er->createQueryBuilder('a')
->orderBy('a.title', 'ASC');
},
))
;
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'MS\CoreBundle\Entity\Photo',
));
}
chức năng điều khiển của tôi là:
public function newAction($count)
{
for($i = 1; $i <= $count; $i++) {
$entity = new Photo();
}
$form = $this->container->get('ms_core.gallery.form');
$form->setData($entity);
return array(
'entity' => $entity,
'form' => $form->createView()
);
}
Bất kỳ trợ giúp nào cũng tuyệt vời.