Borrar registros de la base de datos en Symfony2

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

Víctor Robles WEB

Autor: Victor

Desarrollador web - Formador online - Blogger

Compartir este post