Introducir datos de prueba para productos
Comprar curso

31. Introducir datos de prueba para productos


3 comentarios

Inicia sesión para comentar

Comentarios:

  • Eber

    Eber hace 3 meses

    En mi primer intento no descargaron las imágenes, en la bd solo aparece products/

  • Ale Godoy

    Ale Godoy hace 8 meses

    Ami me da el siguiente error en este apartado a ver si podéis ayudarme, gracias:

     

     

    • Victor Arana Flores hace 8 meses

      Así es Ale, cuando trabajas con llaves foraneas es super importante el orden en el que se ejecuta las migraciones, ya que la llaves foraneas hacen referencia a las llaves primarias de otra tabla, y si esta tabla aun no se ha creado entonces ahi aparece ese error.

      Para que no te de este error, la tabla subcategories debe crearse antes de la tabla products

    • Juanjo Tresselle hace 6 meses

      Hola, tengo el mismo problema, ya revise cada una de las migraciones e incluso las volvi a realizar en el orden que va pero me manda aun error, espero me puedan ayudar a resolverlo

    • Juanjo Tresselle hace 6 meses

    • Johann Stig hace 5 meses

      Hola, si no haz  solucionado este problema.

      No es el orden de las migraciones lo que esta fallando el error es en el archivo ProductFactory. 

      return [
          'sku'            => $this->faker->unique()->numberBetween(100000, 999999),
          'name'           => $this->faker->sentence(),
          'description'    => $this->faker->text( 200),
          'image_path'     => 'products/'.$this->faker->image('public/storage/products',  640,  480,  null,  false),
          'price'          => $this->faker->randomFloat( 2, 1, 1000),
          'subcategory_id' => $this->faker->numberBetween( 1,92) 
      ];

      En la línea donde se asigna el subcategory_id, en el video el rango es 1 y 632, si no tienes 632 de registros en la tabla subcategories te genera el error que te sale. Lo que debes hacer es mirar la cantidad registros  que tienes en esta tabla subcategories (para mi caso son 92) y este es el valor que debes poner el rango o sea:

        'subcategory_id' => $this->faker->numberBetween( 1, cantidad_de_registros_tabla_subcategories)

      Con este debería de funcionar

      Saludos. 

    • Juanjo Tresselle hace 4 meses

      hola que tal, efectivamente eran las migraciones, ya que convine mayusculas y minusculas pensando que no pasaba nada y andaba por eso mal sus nombres de las que yo queria hacer

  • Blanca Segura

    Blanca Segura hace 11 meses

    Estimado Víctor: 
    En el vídeo dices de cómo descargar las imágenes via Faker, cuando se traba la descarga. Ese es mi problema. Ya voy en el tercer intento. Alguna ayuda??

    • Victor Arana Flores hace 11 meses

      Hola Blanca, te comparto la solución

      Abre el siguiente archivo:

      vendor\fakerphp\faker\src\Faker\Provider\Image.php

      Una vez abierto este archivo reemplaza las siguientes lineas

      public const BASE_URL = 'https://placehold.jp'; // cambie la URL

      curl_setopt($ch, CURLOPT_FILE, $fp); //línea existente

      curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);//nueva línea

      curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);//nueva línea

      $success = curl_exec($ch) && curl_getinfo($ch, CURLINFO_HTTP_CODE) === 200;//línea existente

    • Eber hace 3 meses

      Funcionó con estos cambios