tipe === 'member') { // Jalur member: lookup dari anggotas $request->validate([ 'no_anggota' => 'required', 'keperluan' => 'required', ]); $anggota = Anggota::where('no_identitas', $request->no_anggota)->first(); if (!$anggota) { return back()->withErrors(['no_anggota' => 'Nomor Anggota tidak ditemukan dalam sistem kami.'])->withInput(); } // Cari user terkait untuk id_user $user = DB::table('users')->where('name', $anggota->nama)->first(); BukuTamu::create([ 'id_user' => $user?->id, 'tujuan_kunjungan' => $request->keperluan, 'tanggal_kunjungan' => now()->toDateString(), ]); return redirect()->route('home')->with([ 'status' => 'Halo ' . $anggota->nama . ', berhasil check-in!', 'show_popup' => true, ]); } else { // Jalur tamu: isi manual $request->validate([ 'nama_tamu' => 'required|string|max:255', 'email' => 'nullable|email|max:255', 'no_hp' => 'nullable|string|max:20', 'asal_instansi' => 'required|string|max:255', 'status' => 'nullable|string|max:255', 'keperluan' => 'required', ]); BukuTamu::create([ 'nama_tamu' => $request->nama_tamu, 'email' => $request->email, 'no_hp' => $request->no_hp, 'status' => $request->status, 'asal_instansi' => $request->asal_instansi, 'tujuan_kunjungan' => $request->keperluan, 'tanggal_kunjungan' => now()->toDateString(), ]); return redirect()->route('home')->with([ 'status' => 'Halo ' . $request->nama_tamu . ', berhasil check-in!', 'show_popup' => true, ]); } } public function adminList() { $bukuTamu = BukuTamu::with('user') ->orderBy('tanggal_kunjungan', 'desc') ->paginate(10); return view('buku_tamu.admin', compact('bukuTamu')); } }