Symfony 2-Gedmo在版本中可上载错误
我已经在文档中配置了所有内容,如果我上传所有文件,所有内容都可以完美运行 但当我只想更改表单中的其他元素而不更改照片时,我收到了以下错误消息: 必须为类的实体传递FileInfoInterface实例或有效数组Symfony 2-Gedmo在版本中可上载错误,symfony,upload,symfony-2.5,doctrine-extensions,Symfony,Upload,Symfony 2.5,Doctrine Extensions,我已经在文档中配置了所有内容,如果我上传所有文件,所有内容都可以完美运行 但当我只想更改表单中的其他元素而不更改照片时,我收到了以下错误消息: 必须为类的实体传递FileInfoInterface实例或有效数组 public function updateAction(Request $request, $id) { $em = $this->getDoctrine()->getManager(); $entity = $em->getRepository
public function updateAction(Request $request, $id)
{
$em = $this->getDoctrine()->getManager();
$entity = $em->getRepository('CmUserBundle:User')->find($id);
if (!$entity) {
throw $this->createNotFoundException('Unable to find User entity.');
}
$deleteForm = $this->createDeleteForm($id);
$editForm = $this->createEditForm($entity);
$editForm->handleRequest($request);
$container = $this->container;
if ($editForm->isValid()) {
$uploadableManager = $this->get('stof_doctrine_extensions.uploadable.manager');
$uploadableManager->markEntityToUpload($entity, $entity->getPath());
$em->flush();
return $this->redirect($this->generateUrl('user_edit', array('id' => $id)));
}
return array(
'entity' => $entity,
'edit_form' => $editForm->createView(),
'delete_form' => $deleteForm->createView(),
);
}
表格clas:
<?php
namespace AppBundle\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
class UserType extends AbstractType
{
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('email', null, array('attr' => array('class' => 'form-control')))
->add('username', null, array('attr' => array('class' => 'form-control')))
->add('path', 'file', array(
'data_class' => null
))
->add('firstName', null, array('attr' => array('class' => 'form-control')))
->add('lastName', null, array('attr' => array('class' => 'form-control')))
->add('localization', null, array('attr' => array('class' => 'form-control')))
;
}
/**
* @param OptionsResolverInterface $resolver
*/
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'CmUserBundle\Entity\User',
));
}
/**
* @return string
*/
public function getName()
{
return 'appbundle_user';
}
}
尝试$form->submit($request->request->all(),false)
而不是$form->handleRequest($request)
。这将阻止清除传入POST数据中不存在的实体属性。问题解决了吗?我有同样的。请帮帮我