validate([ 'nama' => 'required|string|max:255', 'email' => 'required|string|email|max:255|unique:users', 'password' => ['required', 'confirmed', Rules\Password::defaults()], 'role' => 'required|in:guru,siswa', ]); // Simpan ke tabel users $user = User::create([ 'name' => $request->nama, 'email' => $request->email, 'password' => Hash::make($request->password), 'role' => $request->role, 'is_active' => 1, ]); // Hubungkan ke tabel guru jika role = guru if ($user->role == 'guru') { $existingGuru = Guru::where('nama', $user->name)->first(); if ($existingGuru) { // Jika guru sudah ada, hubungkan dengan user $existingGuru->user_id = $user->id; $existingGuru->save(); } else { // Jika belum ada, buat baru Guru::create([ 'user_id' => $user->id, 'nama' => $user->name, ]); } } // Hubungkan ke tabel siswa jika role = siswa if ($user->role == 'siswa') { $existingSiswa = Siswa::where('nama', $user->name)->first(); if ($existingSiswa) { $existingSiswa->user_id = $user->id; $existingSiswa->save(); } else { Siswa::create([ 'user_id' => $user->id, 'nama' => $user->name, ]); } } Auth::login($user); return redirect()->route('redirect-dashboard'); } }