Exemplo n.º 1
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     $spec = implode('-', $request->get('spec'));
     $item = new Items();
     $item->fill($request->all());
     $pieces = explode("-", $request->input('category'));
     $item->category_id = $pieces[1];
     $item->subcategory_id = $pieces[0];
     $item->spec = $spec;
     $slug = Helpers::makeSlug($request->input('title_geo'));
     $item->slug = $slug;
     $image = $request->file('main_image');
     $fileName = "";
     if ($image->isValid()) {
         $path = public_path() . '/uploads/item/';
         $fileName = str_random(32) . '.' . $image->getClientOriginalExtension();
         $image->move($path, $fileName);
     } else {
         App::abort(404);
     }
     $item->main_image = $fileName;
     $big_image = $request->file('big_image');
     $fileNameBig = "";
     if ($big_image->isValid()) {
         $path = public_path() . '/uploads/item/';
         $fileNameBig = str_random(32) . '.' . $big_image->getClientOriginalExtension();
         $big_image->move($path, $fileNameBig);
     } else {
         App::abort(404);
     }
     $item->main_image = $fileName;
     $item->big_image = $fileNameBig;
     $item->save();
     $item->ItemColors()->sync($request->color);
     $item->ItemSize()->sync($request->size);
     foreach ($request->file('images') as $p) {
         $fileName = "";
         if ($p->isValid()) {
             $path = public_path() . '/uploads/photos/' . $item->id . '/';
             $fileName = str_random(32) . '.' . $p->getClientOriginalExtension();
             $p->move($path, $fileName);
         } else {
             App::abort(404);
         }
     }
     return Redirect::route('admin.item.show');
 }