json($guestRegistrations); } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { // 檢查是否已存在相同 user_id 的記錄 $existingRecord = GuestRegistration::where('user_id', $request->user_id)->first(); if ($existingRecord) { // 如果已存在,返回錯誤響應 return response()->json(['error' => 'User ID already exists'], 409); // 409 衝突 } // 如果不存在相同的 user_id,則創建新記錄 $data = $request->all(); $result = GuestRegistration::create($data); if ($result) { CheckIn::where('user_id', $result->user_id)->update(['is_checked_in' => true]); } return $result; } /** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function show($id) { $guestRegistration = GuestRegistration::find($id); if ($guestRegistration) { return response()->json($guestRegistration); } else { return response()->json(['error' => 'Resource not found'], 404); } } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { $guestRegistration = GuestRegistration::find($id); if ($guestRegistration) { $guestRegistration->update($request->all()); return response()->json($guestRegistration); } else { return response()->json(['error' => 'Resource not found'], 404); } } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { $guestRegistration = GuestRegistration::find($id); if ($guestRegistration) { $guestRegistration->delete(); return response()->json(['message' => 'Deleted successfully']); } else { return response()->json(['error' => 'Resource not found'], 404); } } }