diff --git a/app/Http/Controllers/ProductoController.php b/app/Http/Controllers/ProductoController.php index 7731ec9..6c83e95 100644 --- a/app/Http/Controllers/ProductoController.php +++ b/app/Http/Controllers/ProductoController.php @@ -6,6 +6,7 @@ use Illuminate\Http\Request; use App\Models\Producto; use App\Models\Categorias; use App\Models\CodigoBarras; +use App\Models\Etiquetas; class ProductoController extends Controller { public function index(Request $request){ @@ -28,11 +29,13 @@ class ProductoController extends Controller public function create(){ $categorias= Categorias::get(); - return view('productos.new',["categorias"=>$categorias]); + $etiquetas= Etiquetas::get(); + return view('productos.new',["categorias"=>$categorias , "etiquetas" => $etiquetas]); } public function store(Request $request){ - + + //return back()->withInput()->withErrors("El producto no se pudo guardar"); $codigo_barras= new CodigoBarras(); $codigo_barras->fill([ 'codigo' => $request->input('codigo_barras'), @@ -48,13 +51,16 @@ class ProductoController extends Controller 'codigo_barras_id' => $codigo_barras->id_codigo_barras, ]); $producto->save(); + $producto->etiquetas()->attach($request->input('etiquetas')); $request->session()->flash('mensaje-success', 'El producto fue agregado.'); return redirect('/productos'); } public function edit($id){ - $producto = Producto::findOrfail($id); - return view('productos.edit', ["prod"=>$producto]); + $producto = Producto::with('categorias','codigo_barras')->findOrfail($id); + $categorias= Categorias::get(); + $etiquetas= Etiquetas::get(); + return view('productos.edit', ["prod"=>$producto, "etiquetas"=>$etiquetas, "categorias"=>$categorias]); } public function update(Request $request, $id){ diff --git a/app/Models/Producto.php b/app/Models/Producto.php index 37cde79..ae4dc9f 100644 --- a/app/Models/Producto.php +++ b/app/Models/Producto.php @@ -32,4 +32,14 @@ class Producto extends Model return $this->belongsTo(CodigoBarras::class,'codigo_barras_id','id_codigo_barras'); } + + public function etiquetas() +{ + return $this->belongsToMany( + Etiquetas::class, + 'productos_etiquetas', + 'producto_id', + 'etiqueta_id' + ); +} } diff --git a/resources/views/productos/edit.blade.php b/resources/views/productos/edit.blade.php index 0bb37dc..2fad8e9 100644 --- a/resources/views/productos/edit.blade.php +++ b/resources/views/productos/edit.blade.php @@ -45,6 +45,26 @@ value="{{ old('precio', $prod->precio) }}" > +