Actualizar registros de la base de datos en Symfony2

Veamos como actualizar registros de la base de datos en Symfony2.

Crearemos una ruta para ello.

actualizar:
  path:     /actualizar/{id}/{title}/{description}/{content}
  defaults: { _controller: PruebasEjemploBundle:Default:actualizar }

Creamos también una acción.

public function actualizarAction($id, $title, $description, $content) {


        //Entity Manager
        $em = $this->getDoctrine()->getEntityManager();
        $posts = $em->getRepository("PruebasEjemploBundle:Posts");


        $post = $posts->find($id);
        $post->setTitle($title);
        $post->setDescription($description);
        $post->setContent($content);

        //Persistimos en el objeto
        $em->persist($post);

        //Insertarmos en la base de datos
        $flush = $em->flush();

        if ($flush == null) {
            echo "Post actualizado correctamente";
        } else {
            echo "El post no se ha actualizado";
        }

     
        die();
    }

El procedimiento es sencillo llamamos al entity manager, después llamamos al repositorio de la entidad, hacemos un find para conseguir el objeto que vamos a modificar, seteamos sus propiedades y lo guardamos en base de datos.

Si entramos a una url como esta

http://localhost/symfony2/web/app_dev.php/actualizar/1/titulo2/descripcion2/contenido2

Hace el update.

Más información:
Databases and Doctrine

Víctor Robles WEB

Autor: Victor

Desarrollador web - Formador online - Blogger

Compartir este post