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

Victor

Autor: Victor

Desarrollador web - Formador online - Blogger

Compartir este post

1 Comentario

  1. Hola Victor en uso doctrine, necesito borrar registros relacionados con otras tablas, como sería en este caso ? si pudieras ayudarme con un ejemplo te lo agradeceria mucho. Saludos desde Venezuela amigo, muy bueno tu post.

    Responder

Poner un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *