public function updateCabin(Request $request, Cabin $cabin) { //validate input $this->validate($request, ['name' => 'required|max:50', 'price' => 'required|numeric|min:0', 'size' => 'required|numeric|min:1', 'cabin_image' => 'image']); $cabin->name = $request->name; $cabin->price = $request->price; $cabin->description = $request->description; $cabin->size = $request->size; if (Input::hasFile('cabin_image')) { if (File::exists('uploads/' . $cabin->image)) { File::delete('uploads/' . $cabin->image); } $file = Input::file('cabin_image'); $imagename = 'cabin_' . $cabin->id . '.' . Input::file('cabin_image')->getClientOriginalExtension(); $file->move('uploads', $imagename); $cabin->image = $imagename; } $cabin->save(); return redirect('/admin/cabin/' . $cabin->id)->with('status', 'Cabin updated!'); }