routing.yml

De esta forma podrás crear tu primer objeto producto al acceder al siguiente enlace:
http://localhost/tu-directorio/web/app_dev.php/nuevo/

7.- Buscando objetos en la base de datos

Buscar información de la base de datos y recuperar en forma de objeto es todavía más fácil. Imagina que has configurado una ruta de la aplicación para mostrar la información de un producto a partir del valor de su id. El código del controlador correspondiente podría ser el siguiente:

Al realizar una consulta por un determinado objeto, Doctrine siempre utiliza lo que se conoce como “repositorio”. Estos repositorios son como clases PHP cuyo trabajo consiste en ayudarte a buscar las entidades de una determinada clase. Puedes acceder al repositorio de la entidad de una clase mediante el código:

Una vez que obtienes el repositorio, tienes acceso a todo tipo de métodos útiles:

También puedes utilizar los métodos findBy y findOneBy para obtener objetos en función de varias condiciones:

Al igual que el paso anterior. no olvides crear una ruta que apunte a esta acción para poder probarla en el navegador, agrega estas lineas al final del archivo routing.yml de tu bundle:
routing.yml

Relacionado:  Crear extensiones personalizadas en twig

ver:

De esta forma podrás ver tu primer objeto producto al acceder al siguiente enlace:
http://localhost/tu-directorio/web/app_dev.php/ver/1
Crea de esta misma forma las rutas para actualizar y eliminar, de esta forma podrás hacer las pruebas desde el navegador.

8.- Actualizar objeto en la base de datos

Una vez que hayas obtenido un objeto de Doctrine, actualizarlo es relativamente fácil. Supongamos que la aplicación dispone de una ruta que actualiza la información del producto cuyo id se indica:

Actualizar un objeto requiere de tres pasos:

  1. Obtener el objeto utilizando Doctrine.
  2. Modificar el objeto.
  3. Invocar al método flush() del entity manager.
9.- Eliminar objeto en la base de datos

Eliminar objetos es un proceso similar, pero requiere invocar el método remove() del entity manager:

El método remove() avisa a Doctrine que quieres eliminar esa entidad, pero, esta no se ejecuta, hasta que se invoca el método flush()

Conclusión

En esta ocasión apreciamos cómo crear un esquema de base de datos funcional para una aplicación web en Symfony 2 a través de doctrine con una base de datos Mysql. y de cómo el uso de esta fabuloso ORM ayuda a manejar los datos de una forma bastante sencilla, en el artículo Tutorial: mini-backend de usuarios con Doctrine, puedes ver un ejemplo un poco más complejo de tablas relacionadas, para que puedas seguir dando rienda suelta a tu creatividad en el mundo Symfony.
En venideros tutoriales ahondare en otros tips y herramientas prácticas de desarrollo web, tanto a nivel de back-end como front-end. ¡No olvides compartir este artículo en tus redes sociales si te gustó!