Veamos como borrar registros de la base de datos en Symfony2 con Doctrine.
Crearemos una ruta para el método action de borrar.
borrar: path: /borrar/{id} defaults: { _controller: PruebasEjemploBundle:Default:borrar }
public function borrarAction($id) { //Entity Manager $em = $this->getDoctrine()->getEntityManager(); $posts = $em->getRepository("PruebasEjemploBundle:Posts"); $post = $posts->find($id); $em->remove($post); $flush=$em->flush(); if ($flush == null) { echo "Post se ha borrado correctamente"; } else { echo "El post no se ha borrado"; } die(); }
El procedimiento es simple, llamamos al entity manager y al repositorio de la entidad, hacemos un find para conseguir el objeto a borrar, ejecutamos el método remove pasandole el objeto como parámetro y hacemos flush para hacer los cambios en la base de datos.
Podemos entrar a una URL como esta
http://localhost/symfony2/web/app_dev.php/actualizar/1/titulo2/descripcion2/contenido2
para hacer el delete.
Más información:
Databases and Doctrine