Generar variantes
Comprar curso

46. Generar variantes


3 comentarios

Inicia sesión para comentar

Comentarios:

  • Marco A. Yanez

    Marco A. Yanez hace 4 meses

    Excelente Continuamos…

  • Alfonso Tacuba

    Alfonso Tacuba hace 6 meses

    Profe, cada que intento crear una nueva opcion me sale este error

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

    insert into `feature_variant` (`created_at`, `description`, `feature_id`, `id`, `updated_at`, `value`, `variant_id`) values (2024-04-26 06:42:31, blanco, 0, 6, 2024-04-26 06:42:31, #ffffff, 8), (2024-04-26 06:42:31, Producto Chico, 1, 1, 2024-04-26 06:42:31, Chico, 8), (2024-04-26 06:42:31, Producto Chico, 2, 1, 2024-04-26 06:42:31, Chico, 8)


    Ya me vi los videos anteriores y esta todo perfecto, todo como tu lo tienes, no he hecho algo mas diferente, Unicamente comentando esta linea en especifico $variant->features()->attach($combinacion); de la funcion generarVariantes

        public function generarVariantes()

        {

            $features = $this->product->options->pluck('pivot.features');

            $combinaciones = $this->generarCombinaciones($features);

            $this->product->variants()->delete();

            foreach ($combinaciones as $combinacion) {

                $variant = Variant::create([

                    'product_id' => $this->product->id,

                ]);  
    $variant->features()->attach($combinacion);

            }

        }

    Si la comento si funciona, pero no relaciona

    • Victor Arana Flores hace 6 meses

      Hola, el error te dice que no le estás pasando el campo description. 

      Si no lo necesitas para la creación, entonces asegurate de que el campo acepte valores null. Si lo necesita y lo estás pasando, entonces asegurate de que hayas habilitado la asignacion masiva para ese campo.

    • Alfonso Tacuba hace 6 meses

      Si esta habilitada la asignacion masiva, lo hice tal cual tu lo ibas haciendo, y en ningun momento yo le estoy pasando el campo description ni tampoco creo lo hiciste tu, estoy siguendo paso a paso los videos, de hecho ya me regrese y este problema persiste

    • Royer Cesar Alanis Flores hace 3 semanas

          public function  generarCombinaciones($arrays, $indice = 0, $combinacion = [])

          {


       

              if ($indice == count($arrays)) {


       

                  return [$combinacion];

              }


       

              $resultado = [];


       

              foreach ($arrays[$indice] as $item) {

                  $combinacionesTemporal = $combinacion;

                  $combinacionesTemporal[] = $item['id'];

                  $resultado = array_merge($resultado, $this->generarCombinaciones($arrays, $indice + 1, $combinacionesTemporal));

              }

              return  $resultado;

          }


      Esta línea es la que te esta fallando, tuve el mismo error:
         $combinacionesTemporal[] = $item['id'];

               

  • Jose Alejandro Sanchez

    Jose Alejandro Sanchez hace 8 meses

    también es sugerible agregarle para cuando actualice una información, que esta relacionado $table->foreignId('feature_id')->nullable()->constrained('features')->cascadeOnDelete()->cascadeOnUpdate(); aparte que se pone el id relación también se pone el nombre de la tabla con el que se relaciona, y así en todas las tablas, saludos! excelente curso 

    • Victor Arana Flores hace 8 meses

      Hola Jose, gracias por el aporte.