whereDate('date',$key); } if(\request('status')){ $key = \request('status'); $appointments = $appointments->where('status',$key); } $appointments = $appointments->paginate(config('custom.per_page')); return view($this->view.'index',compact('appointments')); } public function create() { return view($this->view.'create'); } public function store(Request $request) { $request->validate([ 'date' => 'required|date', 'start_time' => 'required|date_format:H:i', 'end_time' => 'required|date_format:H:i', // 'location' => 'required|max:255', // 'description' => 'required', ]); $appointment = new Appointment([ 'date' => $request->get('date'), 'start_time' => $request->get('start_time'), 'end_time' => $request->get('end_time'), 'location' => $request->get('location'), 'description' => $request->get('description'), ]); $appointment->save(); return redirect($this->redirect)->with('success', 'Appointment has been added'); } public function edit($id) { $appointment = Appointment::find($id); return view($this->view.'edit', compact('appointment')); } public function update(Request $request, $id) { $request->validate([ 'date' => 'required|date', 'start_time' => 'required|date_format:H:i', 'end_time' => 'required|date_format:H:i', // 'location' => 'required|max:255', // 'description' => 'required', ]); $appointment = Appointment::find($id); $appointment->date = $request->get('date'); $appointment->start_time = $request->get('start_time'); $appointment->end_time = $request->get('end_time'); $appointment->location = $request->get('location'); $appointment->description = $request->get('description'); $appointment->save(); return redirect($this->redirect)->with('success', 'Appointment has been updated'); } public function destroy($id) { $appointment = Appointment::find($id); $appointment->delete(); return redirect($this->redirect)->with('success', 'Appointment has been deleted'); } }