whereIn('user_idcard_chk_flag', [1, 4, 5]) // 本人確認書類アップロード済み ->where(function($q) { $q->whereNotNull('photo_filename1') ->orWhereNotNull('photo_filename2'); }) // usertypeテーブルとLEFT JOINで分類情報を取得 ->leftJoin('usertype', 'user.user_categoryid', '=', 'usertype.user_categoryid') ->select('user.*', 'usertype.usertype_subject1', 'usertype.usertype_subject2', 'usertype.usertype_subject3'); if ($request->filled('user_id')) { $query->where('user.user_id', $request->input('user_id')); } // データベースの物理順序(主キー昇順)で表示 $users = $query->paginate(20); return view('admin.personal.list', [ 'users' => $users, 'request' => $request, ]); } /** * 本人確認手動処理 編集画面 */ public function edit(Request $request, $seq) { \Log::info('=== Personal Edit Method START ===', ['seq' => $seq, 'method' => $request->method()]); // 利用者情報取得(user_seqで検索) $user = User::where('user_seq', $seq)->firstOrFail(); \Log::info('User found:', [ 'user_seq' => $user->user_seq, 'user_id' => $user->user_id, 'current_flag' => $user->user_idcard_chk_flag ]); // 利用者分類マスタ取得(ラジオボタン用) $usertypes = Usertype::orderBy('sort_order')->get(); // POST時の処理 if ($request->isMethod('post')) { \Log::info('=== FULL REQUEST DEBUG ==='); \Log::info('All request data:', $request->all()); \Log::info('=== Personal Edit POST Processing ==='); // 各フィールドの更新 $user->user_categoryid = $request->input('user_categoryid', $user->user_categoryid); $user->user_regident_zip = $request->input('user_regident_zip', $user->user_regident_zip); $user->user_regident_pre = $request->input('user_regident_pre', $user->user_regident_pre); $user->user_regident_city = $request->input('user_regident_city', $user->user_regident_city); $user->user_regident_add = $request->input('user_regident_add', $user->user_regident_add); $user->user_relate_zip = $request->input('user_relate_zip', $user->user_relate_zip); $user->user_relate_pre = $request->input('user_relate_pre', $user->user_relate_pre); $user->user_relate_city = $request->input('user_relate_city', $user->user_relate_city); $user->user_relate_add = $request->input('user_relate_add', $user->user_relate_add); $user->user_remarks = $request->input('user_remarks', $user->user_remarks); $user->user_idcard = $request->input('user_idcard', $user->user_idcard); // 本人確認チェック処理(バックアップ値を優先使用) $checkValue = $request->input('check') ?? $request->input('check_backup'); \Log::info('Check value received:', [ 'check' => $request->input('check'), 'check_backup' => $request->input('check_backup'), 'final_value' => $checkValue, 'type' => gettype($checkValue) ]); if ($checkValue === 'ok') { $user->user_idcard_chk_flag = 3; // 手動チェックOK $user->ope_id = auth()->user()->ope_id ?? auth()->id(); // 現在ログイン中の操作者ID \Log::info('Setting user_idcard_chk_flag to 3 (手動チェックOK)'); \Log::info('Setting ope_id to current user:', ['ope_id' => $user->ope_id]); } elseif ($checkValue === 'ng') { $user->user_idcard_chk_flag = 4; // 手動チェックNG $user->ope_id = auth()->user()->ope_id ?? auth()->id(); // 現在ログイン中の操作者ID \Log::info('Setting user_idcard_chk_flag to 4 (手動チェックNG)'); \Log::info('Setting ope_id to current user:', ['ope_id' => $user->ope_id]); } else { \Log::warning('No valid check value received', [ 'checkValue' => $checkValue, 'all_input' => $request->all() ]); } \Log::info('Before save:', [ 'user_idcard_chk_flag' => $user->user_idcard_chk_flag, 'ope_id' => $user->ope_id, 'isDirty' => $user->isDirty(), 'getDirty' => $user->getDirty() ]); try { $result = $user->save(); \Log::info('User saved successfully', [ 'result' => $result, 'user_idcard_chk_flag' => $user->user_idcard_chk_flag ]); // 保存結果の検証 $user->refresh(); // モデルデータをリフレッシュ $savedUser = User::where('user_seq', $seq)->first(); \Log::info('Verification after save', [ 'model_refresh' => $user->user_idcard_chk_flag, 'user_idcard_chk_flag' => $savedUser->user_idcard_chk_flag ]); // データベース直接確認 $dbUser = \DB::table('user')->where('user_seq', $seq)->first(); \Log::info('DB direct check:', [ 'user_idcard_chk_flag' => $dbUser->user_idcard_chk_flag ?? 'NOT_FOUND' ]); } catch (\Exception $e) { \Log::error('Save failed', [ 'error' => $e->getMessage(), 'file' => $e->getFile(), 'line' => $e->getLine() ]); return back()->withErrors('保存に失敗しました: ' . $e->getMessage()); } \Log::info('=== POST Processing END ==='); // 成功メッセージ $message = 'データを更新しました。'; if ($checkValue === 'ok') { $message = '本人確認チェックOKで更新しました。'; } elseif ($checkValue === 'ng') { $message = '本人確認チェックNGで更新しました。'; } return redirect()->route('personal')->with('success', $message); } \Log::info('=== Personal Edit Method END (GET) ==='); return view('admin.personal.edit', [ 'user' => $user, 'usertypes' => $usertypes, ]); } }