<?php namespace Onestartup\Product\Controller; use Illuminate\Http\Request; use App\Http\Requests; use App\Http\Controllers\Controller; use Onestartup\Product\Model\ProductCategory as Category; use Onestartup\Product\Model\ProductSubCategory as SubCategory; use Onestartup\Product\Requests\RequestSubCategory; class SubCategoryController extends Controller{ public function index(Request $request, $category_id){ $category = Category::find($category_id); if($request->ajax()){ return $subcategories = $category->subcategories()->get(); } $subcategories = $category->subcategories()->paginate(30); return view("product::subcategory.index") ->with("subcategories", $subcategories) ->with("category", $category); } public function edit($category_id, $id){ $category = Category::find($category_id); $subcategory = SubCategory::where("category_id", $category_id)->find($id); return view("product::subcategory.edit") ->with("subcategory", $subcategory) ->with("category", $category); } public function store(RequestSubCategory $request, $category_id){ $subcategory = new SubCategory($request->all()); $subcategory->category_id = $category_id; $subcategory->save(); if (isset($request->portada)) { $file = $request->file('portada'); $nombre = $file->getClientOriginalName(); $nombre_file = str_replace(' ', '_', $nombre); $ubicacion_donde_guarda ='product/subcategories/' . $subcategory->id . '/' .$nombre_file; \Storage::disk('local')->put($ubicacion_donde_guarda, \File::get($file)); $subcategory->cover = $ubicacion_donde_guarda; $subcategory->save(); } return redirect() ->back() ->with('message_success', 'Subcategoría añadida correctamente.'); } public function update(RequestSubCategory $request, $category_id, $id){ $subcategory = SubCategory::where("category_id", $category_id)->find($id); $subcategory->fill($request->all()); $subcategory->save(); if (isset($request->portada) && $request->portada != null ) { $file = $request->file('portada'); $nombre = $file->getClientOriginalName(); $nombre_file = str_replace(' ', '_', $nombre); $ubicacion_donde_guarda ='product/subcategories/'. $subcategory->id . '/'. $nombre_file; \Storage::disk('local')->put($ubicacion_donde_guarda, \File::get($file)); $subcategory->cover = $ubicacion_donde_guarda; $subcategory->save(); } return redirect() ->back() ->with('message_success', 'Subcategoría actualizada correctamente.'); } public function destroy($category_id, $id){ $subcategory = SubCategory::where("category_id", $category_id)->find($id); $subcategory->delete(); return redirect() ->back() ->with('message_danger', 'Subcategoría eliminada correctamente.'); } public function deleteCover($id) { $category = SubCategory::find($id); $category->cover = null; $category->save(); return redirect() ->back() ->with('message_success', 'Imagen eliminada correctamente.'); } }