
Adquiere este curso para tener acceso a todas las lecciones
Comprar curso121. Editar variante 3
4 comentarios
Inicia sesión para comentar
Comentarios:
-
Jorgeoviedo.l hace 1 mes
Para los colegas que aun necesiten los codigos
public function addNewFeature($option_id){
$this->validate([
'new_feature.' . $option_id => 'required',
]);
$feature = Feature::find($this->new_feature[$option_id]);
$this->product->options()->updateExistingPivot($option_id, [
'features' => array_merge($this->product->options->find($option_id)->pivot->features ?? [], [
[
'id' => $feature->id,
'value' => $feature->value,
'description' => $feature->description
]
])
]);
$this->product = $this->product->fresh();
$this->new_feature[$option_id] = '';
$this->generarVariantes();
}
public function generarVariantes(){
$features = $this->product->options->pluck('pivot.features');
$combinaciones = $this->generarCombinaciones($features);
foreach ($combinaciones as $combinacion) {
$variant = Variant::where('product_id', $this->product->id)
->has('features', count($combinacion))
->whereHas('features', function ($query) use ($combinacion) {
$query->whereIn('feature_id', $combinacion);
})
->whereDoesntHave('features', function ($query) use ($combinacion) {
$query->whereNotIn('feature_id', $combinacion);
})
->first();
if ($variant) {
continue;
}
$variant = Variant::create([
'product_id' => $this->product->id,
]);
$variant->features()->attach($combinacion);
}
$this->dispatch('variant-generate');
}
-
Jumede Bermudez hace 2 meses
No dejaste los código de las modificaciones
-
Rafael Diaz hace 3 meses
Tampoco dejaste el código de la modificación del
public function generarVariantes(). -
Rafael Diaz hace 3 meses
Hola Victor. No dejaste el código de public function addNewFeature y no se alcanza a ver en el video.
-
Victor Arana Flores hace 3 meses
Hola Rafael, ahi lo comparto, disculpa.
-
Victor Arana Flores hace 3 meses
En unas horas lo estoy publicando, que el proyecto lo tengo en otra computadora
-
Rafael Diaz hace 3 meses
Gracias amigo. Ya lo implementé pero imagino para los que vengan a seguir el curso.
-