Ejemplo n.º 1
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  Request  $request
  * @return Response
  */
 public function store(CatCreateRequest $request)
 {
     //  dd($request->input('sub_cats'));
     $catName = $request->input('name');
     if ($existingCat = Cat::where('name', $catName)->first()) {
         $existingCat->meta_description = $request->input('meta_description');
         $existingCat->image_class = $request->input('cat_image');
         $existingCat->save();
         if ($request->input('subcat')) {
             $newSub = new SubCat();
             $newSub->name = $request->input('subcat');
             $newSub->image_class = $request->input('sub_image');
             $newSub->cat_id = $existingCat->id;
         }
         return redirect('/admin/cat')->withSuccess("The Category '{$existingCat->name}' has been updated.");
     } else {
         $category = new Cat();
         $category->name = $request->input('name');
         $category->meta_description = $request->input('meta_description');
         $category->image_class = $request->input('cat_image');
         $category->save();
         if ($request->input('subcat')) {
             $freshSub = new SubCat();
             $freshSub->name = $request->input('subcat');
             $freshSub->image_class = $request->input('sub_image');
             $freshSub->cat_id = $category->id;
             $freshSub->save();
         }
         return redirect('/admin/cat')->withSuccess("The Category '{$category->name}' has been created.");
     }
 }
Ejemplo n.º 2
0
 /**
  * Update the specified resource in storage.
  *
  * @param  Request  $request
  * @param  int  $id
  * @return Response
  */
 public function update(CatUpdateRequest $request, $id)
 {
     $cat = Cat::findOrFail($id);
     $cat->name = $request->input('name');
     $cat->meta_description = $request->input('meta_description');
     $cat->image_class = $request->input('image_class');
     $cat->save();
     $sub_cats = $request->input('sub_cats');
     $real = [];
     $cat->subcats()->delete();
     foreach ($sub_cats as $sub) {
         if ($existingCat = SubCat::where('name', $sub)->first()) {
             $real[] = $existingCat;
         } else {
             $newCat = new SubCat();
             $newCat->name = $sub;
             $newCat->save();
             $real[] = $newCat;
         }
     }
     $cat->subcats()->saveMany($real);
     return redirect("/admin/cat/")->withSuccess("Changes saved.");
 }