Adquiere este curso para tener acceso a todas las lecciones
Comprar curso46. Generar variantes
4 comentarios
Inicia sesión para comentar
Comentarios:
-
Rafael Diaz hace 2 semanas
Hola admirado Victor. Mira que desde el momento en que agregamos la linea
$this->generarVariantes();
a la función
public function deleteOption($option_id) {
$this->product->options()->detach($option_id);$this->product = $this->product->fresh();
$this->generarVariantes();
}
Al eliminar la opción genera una variante vacia que queda ligada al id del producto.
¿Cómo se puede solucionar esto? Gracias.-
Victor Arana Flores hace 2 semanas
Hola Rafael, ese comportamiento es correcto, de hecho a partir del capitulo 120 si no me equivoco hacemos que ese sea el comportamiento por defecto.
-
Rafael Diaz hace 2 semanas
bueno, revisaré entonces. Gracias Victor.
-
-
Marco A. Yanez hace 7 meses
Excelente Continuamos…
-
Alfonso Tacuba hace 9 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 9 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 9 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 meses
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 hace 10 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 10 meses
Hola Jose, gracias por el aporte.
-