1
我有一個具有文件實體的ManyToOne的實體。未找到Symfony2實體 - 在關係中上載文件
我的問題是當我嘗試刪除。
這是我如何創建:
/**
* Creates a new Catalogo entity.
*
* @Route("/create", name="catalogo_create")
* @Method("POST")
* @Template("BWSBajaCupcakesBundle:Catalogo:new.html.twig")
*/
public function createAction(Request $request)
{
$entity = new Catalogo();
$file = new Archivo();
$form = $this->createForm(new CatalogoType(), $entity);
$form->bind($request);
$file_form = false;
if($form['file']->getData()){
$file_form = $form['file'];
//unset($form['file']);
}
if ($form->isValid()) {
$em = $this->getDoctrine()->getManager();
$em->persist($entity);
if($file_form){
$tipoImagen = $em->getRepository('BWSBajaCupcakesBundle:TipoArchivo')->find(1);
$file->setFile($file_form->getData());
$file->setPrincipal(true);
$file->setTipo($tipoImagen);
$file->setFechaCaptura(date_create(date("Y-m-d H:i:s")));
$file->upload();
$em->persist($file);
$entity->setImagen($file);
}
$em->flush();
return $this->redirect($this->generateUrl('catalogo_show', array('id' => $entity->getId())));
}
return array(
'entity' => $entity,
'form' => $form->createView(),
);
}
這是我如何刪除:
/**
* Deletes a Catalogo entity.
*
* @Route("/{id}/delete", name="catalogo_delete")
* @Method("POST")
*/
public function deleteAction(Request $request, $id)
{
$form = $this->createDeleteForm($id);
$form->bind($request);
if ($form->isValid()) {
$em = $this->getDoctrine()->getManager();
$entity = $em->getRepository('BWSBajaCupcakesBundle:Catalogo')->find($id);
if (!$entity) {
throw $this->createNotFoundException('Unable to find Catalogo entity.');
}
$em->remove($entity);
$em->flush();
}
return $this->redirect($this->generateUrl('catalogo'));
}
這是我的關係:
/**
* @ORM\ManyToOne(targetEntity="BWS\BajaCupcakesBundle\Entity\Archivo", cascade={"all"})
* @ORM\JoinColumn(name="imagen_id", referencedColumnName="id")
*/
private $imagen;
我不明白,我這樣做在我的其他Symfony應用程序中,從來沒有遇到過這個問題。
在此先感謝您的幫助。
乾杯
面對手掌,我在我的File實體中有一個PostRemove回調循環的removeUpload ...我在刪除實體之前使用名稱和webpath(即在已刪除的實體中)可以完成PostRemove。所以基本上我調用了一個webpath和文件名,dindt在entitymanager中退出。希望這個蠟燭有用。 – 2013-05-10 02:39:59