only([ 'appointment_type', 'organization_id', 'speciality_id', ]); $appointmentData = array_merge($appointmentData, [ 'start_time' => $request->date . ' ' . $request->time ]); $appointment = Appointment::query()->create($appointmentData); if ($request->has('doctor_id')) { $practitionerRole = PractitionerRole::query()->find($request->doctor_id); $practitionerRole->appointmentParticipantables()->create([ 'appointment_id' => $appointment->id, 'type' => 'doctor', ]); } if ($request->has('patient_id')) { $person = Person::query()->find($request->patient_id); $person->appointmentParticipantables()->create([ 'appointment_id' => $appointment->id, 'type' => 'patient', ]); } return Helper::responseJson($appointment, Response::HTTP_CREATED, 'Data appointment berhasil di buat'); } /** * Show the specified resource. * @param int $id * @return Renderable */ public function show($id) { $appointment = Appointment::query()->with(['appointmentParticipants', 'organization'])->find($id); return new AppointmentDetailResource($appointment); return response()->json($appointment); } /** * Update the specified resource in storage. * @param Request $request * @param int $id * @return Renderable */ public function update(Request $request, $id) { // } /** * Remove the specified resource from storage. * @param int $id * @return Renderable */ public function destroy($id) { // } }