deSymfony 2011: El modelo y Doctrine2

El modelo. Doctrine2. fue la segunda ponencia impartida durante el primer día de las Jornadas Symfony 2011. Se trata de la segunda parte de las seis que forman el tutorial de desarrollo de la aplicación deSymfony.

Nacho Martín explicó durante su ponencia el modelo de datos de la aplicación, cómo diseñarlo con Symfony2, cómo crear las entidades y los repositorios, cómo cargar datos de prueba y cómo hacer las primeras páginas con consultas.

Presentación

Disponible próximamente.

Vídeo

Comentarios

  1. Gracias por todos los tutoriales y espero que estén pronto la presentación de ese segundo tutorial

    Daniel el 22 de julio de 2011, 5:31:32

  2. Hola estan muy interesantes las charlas, mas interesante aun me parece la forma de manejo del vim ya que justamente ahora estoy incursionando en el uzo de esta herramienta, alguine me podria decir como definir estos atajos que utiliza Nacho como ormt que se "autocopleta" con el codigo referente al mapeo de la tabla con el orm

    He buscado por toda la web pero solo encuentro los usos de los comandos predeterminados del vim

    Steven el 29 de julio de 2011, 18:44:23

  3. Agradecer a todos por subir los videos y lo interesantes y completas que estan las conferencias.

    plmarcelo el 1 de agosto de 2011, 17:07:03

  4. Saludos Estoy interesado en bajar todos los videos de estos tutoriales. Agradeceria me indicara como bajarlos.

    William Suàrez el 4 de agosto de 2011, 2:25:54

  5. Que tal un saludo. Estoy recien iniciadome en symfony. estoy suguiendo los video deSymfony 2011. utilizando tutorial3, cuando ejecuto doctrine:fixtures:load, me aparece el siguiente error:

    [PDOException]
    SQLSTATE[42000]: Syntax error or access violation: 1701 Cannot truncate a table referenced in a foreign key constraint (desymfony.ponencia_usuario, CONSTRAINT ponencia_usuario_ibfk_1 FOREIGN KEY (ponencia_id) REFERENCES desymfony.ponencia (id))

    ( lo hice todo desde cero bajando symfony2, fixtures, y de nuevo me aparece el mismo horror.

    gil sanjuan el 8 de agosto de 2011, 4:08:52

  6. Me olvidaba exelente trabajo. felicitaciones. Un saludo desde mexico :)

    gil sanjuan el 8 de agosto de 2011, 4:10:30

  7. Hola gil sanjuan a mi me sale el mismo error lograste corregirlo si lo hiciste dime por favor como lo hiciste :-)

    Omar el 16 de agosto de 2011, 21:50:56

  8. El error es porque han cambiado la forma de vaciar las tablas antes de rellenar los datos. Antes usaba DELETE y ahora usan TRUNCATE. El problema es que en Mysql antes de hacer truncate o se quitan los constraints o se hace un "SET FOREIGN_KEY_CHECKS=0" antes de ejecutar la sentencia.

    Hasta que arreglen ese bug en doctrine-dbal, lo que puedes hacer es editar el archivo ORMPurger.php que hay en doctrine-fixtures y editar esta línea:

    $this->em->getConnection()->executeUpdate($platform->getTruncateTableSQL($tbl, true));

    Y cambiarla por esta otra:

    $this->em->getConnection()->executeUpdate("DELETE FROM $tbl");

    Que es como estaba antes del cambio. El problema que tiene DELETE es que los autoincrement no se resetean, pero si no te importa puedes salir del paso.

    Sergio el 17 de agosto de 2011, 7:58:09

  9. Hola Sergio si funciono muchisimas gracias yo no sabia donde era el error ya me ingreso lo datos, ahora le cambie de nuevo a $this->em->getConnection()->executeUpdate($platform->getTruncateTableSQL($tbl, true)); y mi pagina sigue funcionando tambien , mi pregunta es la dejo como estaba antes o con la modificación que usted me dijo ? :-)

    Gracias por la ayuda Saludos.

    Omar el 17 de agosto de 2011, 11:22:29

  10. Tratando de seguir el tutorial, para instalar el bundle fixtures se me ocurrió la desgraciada idea de intentarlo. Añadí los deps, ejecuté "php bin/vendors install" tal como dice la web de symfony. Detectó que mi symfony ya venía con vendors, y me dijo que probase con otro comando: "./bin/vendors install --reinstall" falló. y como estas cosas funcionan así, cuando algo falla, todo se jode. Efectivamente: la web "contacto" dejó de funcionar. Y como es también típico, lo que ocurre es nuevo (una página en blanco, sin errores). Por tanto, ni zorra idea de qué pasa, ni cómo arreglarlo, salvo empezar de nuevo, de cero.

    Lo comento por si alguien lee esto antes de caer en el error de probar algo que se salga lo más mínimo del guión.

    ale, vuelta a empezar

    TheBronx el 17 de agosto de 2011, 19:53:55

  11. hola alguno me podría decir en donde puedo encontrar el código de este tutorial O sea para poder copiar/pegar Gracias un saludo

    fran el 18 de octubre de 2011, 11:12:29

  12. Todo el código fuente de la aplicación lo puedes encontrar en https://github.com/desymfony/desymfony

    Javier Eguiluz el 18 de octubre de 2011, 11:43:17

  13. saludos, segui el tutorial pero me encontré con el siguiente problema, que no me entero bien de lo que significa esta linea use Doctrine\ORM\EntityRepository; que use lo que, me lo podrían explicar

    xan el 19 de octubre de 2011, 17:49:22

  14. Muy buen material de Sf2 en español, falicitaciones, gracias

    Juan Pablo León Bazante el 26 de octubre de 2011, 1:09:25

  15. Muy buena charla, sin embargo al ir tan rápido y copiando y pegando todo al final lo único que entiendo es el concepto, el resto... no.

    Marcos G. el 30 de octubre de 2011, 13:03:46

  16. Excelente charla, muy bien impartida y amena, sugiero utilizar la documentación oficial de symfony2, (Book y recetario también disponibles en castellano) para consultarla mientras se visiona la charla así se comprende bastante mejor ya que en esta ponencia se tratan temas que son algo abstractos y sin unos fundamentos es difícil de comprenderlos a la primera.

    Enhorabuena a Nacho Martín y gracias por su fantástico trabajo.

    Alberto el 22 de noviembre de 2011, 0:44:06

  17. Como ha comentado TheBronx al intentar instalar el Data Fixtures te dice que reinstales los vendors y al hacerlo da error y se estropea toda la aplicacion, como se hace para instalar el Data Fixtures teniendo ya los vendors?, y como se puede arreglar una vez metida la pata y ejecutado el comando ./bin/vendors install –reinstall?

    Xan-Ko el 8 de enero de 2012, 18:15:28

  18. Xan-Ko, sinceramente no se qué ha podido suceder. Quizás en la documentación oficial de los fixtures de Doctrine podáis encontrar alguna pista: http://symfony.com/doc/2.0/bundles/DoctrineFixturesBundle/index.html

    Javier Eguiluz el 8 de enero de 2012, 19:36:52

  19. Xan-Ko, A mi me paso exactamente lo mismo ...

    Para instalar los fixtures de forma manual descarga y descomprime cada uno en su sitio: http://github.com/doctrine/data-fixtures.git http://github.com/symfony/DoctrineFixturesBundle.git

    Ojo1, tienes que cambiar a mano el AppKernel.php y el Autoload.php (según libro de Javier Eguiluz )

    Ojo2, cuando hagas el Fixture en TuBandle\DataFixtures\ORM\loquesea.php

    no olvides hacer un Use a ObjectManager y para usarlo en la función:

    use Doctrine\Common\Persistence\ObjectManager; ... public function load(ObjectManager $manager)

    sino cascara ...

    Miguel Martinez el 27 de febrero de 2012, 18:50:12

Este artículo ya no permite añadir más comentarios.
¿Por qué? Los artículos cierran sus comentarios automáticamente unos meses después de su publicación para asegurar que estos sigan siendo relevantes.

Publicada el

6 de julio de 2011

Proyectos Symfony destacados

La plataforma de eCommerce 100% Symfony que rivaliza con Magento y PrestaShop. Ver más

Síguenos en @symfony_es para acceder a las últimas noticias.