/** * Store a newly created resource in storage. * * @param Request $request * @return Response */ public function store(Request $request) { $this->validate($request, ['name' => 'required|unique:room_types,name', 'capacity' => 'required|numeric', 'price' => 'required|numeric', 'description' => 'required', 'image' => 'required|image', 'facilities' => '']); $input = $request->except('image', 'facilities'); $input['slug'] = str_slug($input['name']); $image = $request->file('image'); $imageName = str_slug($input['name']); $extension = $image->getClientOriginalExtension(); Storage::disk('local')->put($imageName . '.' . $extension, File::get($image)); $input['image_path'] = $imageName . '.' . $extension; RoomType::create($input); $facilities = $request->input('facilities'); foreach ($facilities as $facility) { $lastId = RoomType::orderBy('id', 'desc')->first()->id; $roomFacility['room_type_id'] = $lastId; $roomFacility['facility_id'] = $facility; RoomFacility::create($roomFacility); } return redirect('/type'); }
/** * Display a listing of the resource. * * @return Response */ public function index() { $roomTypes = RoomType::orderBy('name')->with('rooms', 'facilities')->get(); return view('room.index', compact('roomTypes')); }