Symfony 2.3 Tutorial (Base de datos con Doctrine) – Parte 6

Symfony 2En este sexto capítulo del curso de desarrollo web con Symfony 2.3, veremos los fundamentos del manejo de bases de datos, haciendo uso del ya incluido Framework Doctrine para PHP.

Doctrine es una serie de funciones construido en PHP que permiten manipular las bases de datos, este Framework no es exclusivo de Symfony, si no que se puede usar para cualquier proyecto en PHP y Symfony decidió adoptarlo por las ventajas que este conlleva.

Doctrine nos permite mantener nuestra base de datos sincronizada a partir de objetos construidos en PHP, que luego este, mapea a la BD y genera automáticamente todas las Query’s necesarias para insertar, actualizar o borrar registros.

Para más detalles técnicos y documentación de Doctrine pueden visitar el sitio oficial http://www.doctrine-project.org/

En estos 2 primeros videos, veremos cómo configurar Symfony, como crear objetos u entidades que Doctrine pueda reconocer, generar las tablas y por ultimo crear y seleccionar registros de la base de datos. En los próximos días subiré nuevos videos donde profundizaremos más en Doctrine y Symfony.

Pueden descargar todo el código que vimos en los videos (Recuerden que este código solo funcionara correctamente si han seguido los tutoriales y usado los mismos nombres de Bundle y Entidades… Aun asi solo se recomienda para referencia, pero es mucho mejor seguir los videos):

Symfony – Parte 6

Mas Informacion Oficial para aprender sobre Doctrine
http://symfony.com/doc/current/book/doctrine.html
Tipos de datos aceptados para la creacion de Entidades
http://symfony.com/doc/current/book/doctrine.html#book-doctrine-field-types

Cualquier duda o comentario, con gusto estaremos respondiendo!
Saludos!

30 Replies to “Symfony 2.3 Tutorial (Base de datos con Doctrine) – Parte 6”

  1. Muchas gracias por unos tutoriales tan bien explicados. Es el primero que encuentro que merece la pena seguir entero.

    Para cuando saldrá uno sobre el uso de Forms?

  2. Excelentes video Daniel, ninguno como los tuyos, espero pronto saques lo de los formularios, aunque también me interesaría saber como crear entidades de uno a muchos y muchos a muchos y como llamar a sus relaciones a través de doctrine, saludos, eres excelente

  3. Dani eres genial!! no veas loque estoy aprendiendo contigo!! pero tengo un pequeño error en la página de alumnos:

    Key “id” for array with keys “matricula, nombre” does not exist in bpozoalumnosBundle:Default:alumnos.html.twig at line 6

    Y me doy cuenta que es en el arreglo que está en DefaultController.php

    var $alumnos = array(
    array(“matricula”=>1,”nombre”=>”Perico el de los palotes”),
    array(“matricula”=>2,”nombre”=>”Anastasio flores”)
    );

    Por qué me tira de estos datos?? no lo entiendo..he cambiado todas las “matricula” por “id” pero pensé que esto no afectaría,..que tengo que hacer con esto? porque he cambiado matricula por id y me muestra los nombres del array pero no los de la bd..
    Puedes indicarme por favor?? millones de gracias por adelantado!!

    1. En teoria si seguiste este tutorial la variable $alumnos de el controlador Default realmente ya no se esta utilizando (ya que traemos todo de la base de datos)…

      En el DefaultController.php debes tener la accion alumnosAction… esta deberia estar trayendo los datos de la BD.. y los pasa al archivo alumnos.html.twig donde hacemos uso de los datos..

      Compara estos dos archivos con los que yo deje aqui publicados (http://dmuela.com/blog/wp-content/uploads/2013/08/dmuela-Parte-6.rar), si en tu base de datos usaste ID entonces en la vista usas id… si usaste matricula, usas matricula..
      Checa esos archivos y espero encuentres el error, si no, consultame otra vez.
      Saludos!

      1. Gracias por responderme! pues si, seguí el tutorial al pié de la letra..madre si lo vi como 3 veces para ver si pillaba el error..pero nada sigo sin verlo.

        En el DefaultController.php tengo la accion alumnosAction asi:

        public function alumnosAction()
        {
        $repository = $this->getDoctrine()->getRepository(“bpozoalumnosBundle:Alumnos”);
        $alumnos = $repository->findAll();
        return $this->render(‘bpozoalumnosBundle:Default:alumnos.html.twig’, array(‘alumnos’=>$this->alumnos));
        }

        Y en el archivo alumnos.html.twig tengo esto:

        {% for alumno in alumnos %}
        {{alumno.id}} – {{alumno.nombre}}
        {% endfor %}

        Está todo ok, y no veo que está mal…por cierto, el enlace no funciona..no puedo ver tus archivos para compararlos..

        De nuevo gracias Dani!!

      2. Hola otra vez Dani!

        Ya lohe arreglado!! mil perdones por la molestias..he vuelto a ver el vieo y ya lo he cogido..he comentado el código de la variable $alumnos del controlador default.. var $alumnos = array(……

        Y me saltaba el error en la linea 25, es decir, en esta:

        return $this->render(‘bpozoalumnosBundle:Default:alumnos.html.twig’, array(“alumnos”=>$alumnos));

        Asi está bien y me he fijado que habias quitado el $this..ahi estaba mi error..yo lo tenia asi:

        “alumnos”=>$this->alumnos));

        En fin,,perdona por las molestias pero mira,,me ha servido para familiarizarme con todo otra vez!

        DE nuevo millones de gracias y esperando ansiosa tu próximo video!!
        Saludos!

  4. muy buen vídeo se agradece por los aportes pero mi consulta es que si seguirás con mas vídeos ya que estoy muy interesado de aprender bajo tu conocimiento.

    saludos desde santiago de chile

  5. Me eche tus videos en 4 dias!! estan geniales, habia visto unos de laravel, pero me costaron trabajo entenderlos, pero tus videos estan extremadamente bien explicados y los manejas de manera simple, muchas gracias por el tiempo y por compartirlos =)

  6. Excelentes los videos he aprendido todo del framework simfony y este de la BD de doctrine para BD. muy buenos tus videos cuando hara para la parte de formularios ???

  7. Tus vídeos están muy bien, espero que pronto saques el de los formularios. Un saludo y gracias por el esfuerzo.

  8. Excelentes tutoriales Daniel ¡¡¡ de lo mejor que he encontrado en TODO Internet ¡¡¡

    saludos cordiales…

  9. daniel estuve siguiendo tus curso de sinfony paso a paso y esta mmuy bueno, para cuando laparte q falta grcias

  10. Excelente los videos tutoriales!! La verdad muy didácticos… Ojalá puedas seguir con los próximos capítulos… Saludos!!

  11. hola daniel, primero quiero agradecerte por los vídeos que están muy bueno por cierto.. y también preguntarte….¿que paso? por que dejaste se subir los vídeos del tutorial, espero de que retomes este proyecto que esta muy bueno y muchos estamos ansiosos de seguir aprendiendo con este excelente aporte que realizaste.
    saludos carlos.

  12. Muchas gracias por los videos tutoriales, la verdad están bien sugerentes, estoy ansioso por ver los siguientes.

  13. Hola Daniel,

    Primero felicitarte por tus tutoriales, son excelentes. He seguido los 6 vídeos, pero veo que hace mucho tiempo que no públicas los siguientes….

    ¿Has dejado este tutorial?

    Gracias y saludos

  14. Muy buenos, si señor……….. bastante didácticos…………..
    me ha encantado estos tutoriales porque siempre me ha costado organizar y optimizar las web y gtacias a sympony pues es una maravilla ………..

    Gracias de verdad, espero seguirte en tus próximos tutoriales

    Saludos!!!!!!!!!!

  15. Hola Daniel, cuando subiras las otras partes de tu tutorial, esta buenisimo con tus aportes estoy mas que seguro que si aprendere, mil gracias, bendiciones¡

  16. Daniel tus videos son geniales entiendo todo, por favor continua con el tutorial para aprender lo de los formularios con la base de datos y tambien para aprender a usar mejor doctrine, poder poner relaciones entre tablas y usar doctrine con bd ya existentes. gracias por tus videos han sido de gran ayuda

Comments are closed.