get(); $visaAppointments = Appointment::where('service_type', '2')->get(); // foreach($educationAppointments as $appointment){ // $startTime = Carbon::createFromFormat('H:i', $appointment->start_time); // $date = Carbon::createFromFormat('H:i', $appointment->start_time); // dd($date); // } return view('appointment', compact('educationAppointments', 'visaAppointments')); } public function get_appointment_by_date(Request $request){ $dateTime = $request->date; $date_parts = explode(" ", $dateTime); $month_number = date_parse($date_parts[1])['month']; $carbon = Carbon::createFromDate($date_parts[3], $month_number, $date_parts[2]); $date = $carbon->format('Y-m-d'); $type_id = $request->id; $appointments_all = Appointment::whereDate('date',$date)->where(['service_type' => $type_id,'is_booked' => false,'status' => 1])->get(); $old_date = Carbon::createFromFormat('Y-m-d', $date); $formated_date = $old_date->format('M d, Y'); $currentTime = Carbon::now(); $appointments = []; foreach ($appointments_all as $appointment) { $start_time = date("H:i", strtotime($appointment->start_time)); $appointmentDate = Carbon::createFromFormat('Y-m-d H:i', $appointment->date.' '.$start_time); if ($appointmentDate->gt($currentTime)) { array_push($appointments, $appointment); } } // $users = DB::table('appointments')->whereDate('created_at', '2022-12-01')->get(); // $time = []; // foreach($appointments as $appointment){ // array_push($time, [$appointment->start_time, $appointment->id]); // } // dd($time); return response()->json(['appointment' => $appointments,'formated_date' => $formated_date]); } public function form_submit(Request $request){ $request->validate([ 'name' => 'required', 'email' => 'required|email', 'phone' => 'required', ]); $appointment_id = $request->get('appointment_id'); $appointment = Appointment::findorfail($appointment_id); $appointment_detail = new AppointmentBookingDetail(); $appointment_detail->name = $request->get('name'); $appointment_detail->email = $request->get('email'); $appointment_detail->phone = $request->get('phone'); $appointment_detail->notes = $request->get('notes'); $appointment_detail->appointment_id = $appointment_id; $email = $request['email']; $name = $request['name']; if($appointment_detail->save()){ $date = Carbon::createFromFormat('Y-m-d', $appointment->date); $formated_date = $date->format('M d, Y'); $appointment->is_booked = true; $appointment->save(); $subject = 'Appointment Confirmed'; dispatch(function() use ($name,$email,$subject,$formated_date,$appointment) { \Mail::send('appointment_confirmed', array( 'full_name' =>$name, 'email' =>$email, 'date' => $formated_date, 'start_time' => $appointment['start_time'], 'end_time' => $appointment['end_time'], 'phone' =>$appointment['phone'], 'subject' =>$subject ), function($message) use ($subject,$email,$name){ // $subject=($service!= '') ? 'Enquiry for '.$service : 'Contact/Feedback'; $message->subject($subject); $message->to($email, $name)->subject($subject); // $message->cc('extratechweb@gmail.com', 'Extratech')->subject($subject); // $message->cc('suman@extratechs.com.au', 'Extratech')->subject($subject); }); }); } return response()->json(['appointment_detail' => $appointment_detail,'appointment' => $appointment,'formated_date' => $formated_date],200); } }