03 Modelos, Migraciones y Seeders – Taller de desarrollo de una Tienda en línea

Hola, bienvenido(a), al Post 03 del Taller de Desarrollo de una Tienda en línea con Bootstrap, Laravel 5.1 y API Paypal.

En esta ocasión empezamos a meterle mano al código, vamos a:

  • Generar nuestra aplicación, usando Laravel 5.1
  • Crearemos los Modelos para Categorías y Productos, mismos que nos permitirán interactuar con la base de datos.
  • Crearemos las Migraciones para Categorías y Productos, que nos permitirán crear los esquemas de las tablas.
  • Crearemos los Seeders para Categorías y Productos, estos archivos nos permitirán alimentar nuestras tablas con datos de prueba.
  • Por ultimo haremos una prueba y listaremos nuestros productos en la página de inicio de nuestro sitio.

Te comparto el vídeo de la clase de hoy:

Te comparto también el código de los archivos de las migraciones:

Categories migration

Products migration

Y los Seeders:

Categories seeder

Products seeder

Espero tus comentarios y nos vemos en el siguiente post 🙂

  • Compartido el tercer post 🙂

  • Celpabu

    porfavor podrian subir los archivos del desarrollo q se esta haciendo seria de mucha ayuda

    • Hola, por el momento solo hemos partido de un proyecto nuevo de laravel y creamos unos modelos, migraciones y seeders tal como se indica en el vídeo, las migraciones y los seeders se compartieron en el post, cuando el proyecto este más avanzado tal vez lo compartamos en github, saludos.

  • Linda Mejia Laura

    HOLA soy Laura¡¡¡¡muy buen TUTORIAL….. pero.

    Tengo un problema por favor su ayuda, he segudio su tutorial al pie de la letra en el minuto 27:52 dicen que apllque el comando de composer dump-autoload DESPUES des eso aplico el comando php artisan PERO ME SALEN LOS SIGUIENTES ERRORES PORQUE PASA? HE ESCRITO YO EL mismo codigo y tambien he copiado y pegado y me sigue saliendo EL SIGUIENTE ERROR ayuda porfavor¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡

    C:wampwwwperritoperdido>composer dump-autoload
    Generating autoload files
    C:wampwwwperritoperdido>php artisan db:seed
    [IlluminateDatabaseQueryException]
    SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicata du champ ‘S
    uper heroes’ pour la clef ‘categories_name_unique’ (SQL: insert into categ
    ories
    (color, description, name, slug) values (#440022, Lorem ipsu
    m dolor sit amet, consectetur adipisicing elit. Tempore, perferendis!, Supe
    r heroes, super-heroes), (#445500, Lorem ipsum dolor sit amet, consectetur
    adipisicing elit. Tempore, perferendis!, Geek, geek))

    [PDOException]

    SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicata du champ ‘S
    uper heroes’ pour la clef ‘categories_name_unique’

    • Hola Laura, gracias por seguir el taller, el error que te aparece tiene que ver con que el campo nombre se definió como unique en el archivo de migración, esto significa que no puede haber 2 registros en donde se guarde en el campo nombre el mismo dato y eso es lo que se esta tratando de hacer en el seeder. La solución es que revises tu archivo seeder y veas que los valores en el campo nombre sean diferentes. Saludos!!!

      • Linda Mejia Laura

        gracias tenias razon ya hice que funcionara..

  • Primo Mamani

    tengo un error para la insercion de datos de los productos pero me sale este error una ayuda porfas

    • Hola, el error indica que no estas pasando un valor para el campo extract, revisa tu seeder, cada dato se debe corresponder con un campo de la tabla.

      • Primo Mamani

        gracias no me di cuenta que me falto instanciar ese campo en mi tabla

  • Steven

    Que buen tutorial, excelente para gente avanzada o que ya tiene los conociemientos basicos. Muchas Gracias, espero recorrer este paquete de videos para aprender aun mas.

    • Hola Steven, gracias por seguir el taller, saludos!

  • Samir Romero Cardenas

    que mas amigo soy samir y me esta presentando un problema no me reconoce la class..

    • Hola Samir, gracias por seguir el taller, revisa que la clase CategoryTableSeeder se este llamando desde el DatabaseSeedery que se llame antes de la de ProductTableSeeder.
      Saludos!

  • jonh

    Amigo disculpa en esta parte tu usaste una url de internet para colocar una imagen.
    y como le hago para insertar la imagen desde mi computadora o en que parte del proyecto tendria que guardar la carpeta de imagenes

  • jonh

    Muy buen post, estoy en un proyecto similar y me estoy guiando de tus videos.
    en este video me surgio una duda
    insertas una imagen desde una url de internet y como tendria que hacerlo agregando una carpeta de imagenes al proyecto. en que parte tendria que colocar la carpeta y como mandaria a llamar la imagen.
    trate de usar esto. pero no me acepta
    ‘imagen’ => public_path(‘images/escolares/hanselandgretel.jpg’);

  • Sergio

    Gran tutorial !! Es un placer encontrar en internet tutoriales como este. Muchas Gracias

  • Luis Alberto Fuentes Lopez

    Hola muy buenas aunque llego un poco tarde para comentar quiero felicitarte estan buenisimos los videos yo estoy realizando un proyecto parecido, pero solo que quiero cambiar algo, en vez que salga todo el catalogo quiero que un cuadro de lista me filtre por categorias mis productos dependiendo de lo que seleccione.. si puedes colaborarme u orientarme puedes comentarme porfa o escribirme aca luis.fuenteslopez1@gmail.com

  • Valentina Burbano R.

    Hola buenas, soy Valentina, muchisimas gracias por dedicar tu tiempo a este tipo de labor, compartir el conocimiento es lo mas altruista que alguien puede hacer, te agradecería enormemente si me pudieras ayudar con este error que me sale al ejecutar el “php artisan db:seed”, ya hice ademas lo del dumb, he recorrido de arriba a abajo cada archivo y esta exactamente igual, lo unico es que mi laravel es 5.2, no sé si tiene algo que ver?

    cabox@box-codeanywhere:~/workspace$ php artisan db:seed

    [IlluminateDatabaseQueryException]
    SQLSTATE[42S22]: Column not found: 1054 Unknown column ‘description’ in ‘field list’ (SQL: insert into categories (color, description, name,
    slug
    ) values (#C1196D, Lorem ipsum dolor sit amet consectetur adipisicing elit Tempore perferendis, Labiales, labiales), (#A448EB, Lorem ipsum dolor
    sit amet, consectetur adipisicing elit. Tempore, perferendis!, Rimeles, rimeles))

    [PDOException]
    SQLSTATE[42S22]: Column not found: 1054 Unknown column ‘description’ in ‘field list’