siswa; // pastikan relasi user-siswa sudah dibuat di model User return view('siswa.profile-show', compact('user', 'siswa')); } // Form edit profile siswa public function edit(): View { $user = Auth::user(); $siswa = $user->siswa; return view('siswa.profile-edit', compact('user', 'siswa')); } // Update data profile siswa public function update(Request $request) { $user = Auth::user(); $siswa = $user->siswa; $request->validate([ 'nama' => 'required|string|max:255', 'email' => 'required|email|unique:users,email,' . $user->id, 'nisn' => 'nullable|string|max:255', 'kelas_id' => 'nullable|integer|exists:kelas,id', 'jenis_kelamin' => 'required|in:L,P', 'alamat' => 'nullable|string', 'password' => 'nullable|string|min:6', // validasi password ]); // Update user $user->email = $request->email; $user->name = $request->nama; if ($request->filled('password')) { $user->password = Hash::make($request->password); } $user->save(); // Update siswa $siswa->nama = $request->nama; $siswa->nisn = $request->nisn; $siswa->kelas_id = $request->kelas_id; $siswa->jenis_kelamin = $request->jenis_kelamin; $siswa->alamat = $request->alamat; $siswa->save(); return Redirect::route('siswa.profile.show')->with('status', 'Profil berhasil diperbarui.'); } }