user(); // Ambil hanya id_kelas yang diajar guru ini $kelasIds = Mengajar::where('id_guru', $guru->id_guru) ->pluck('id_kelas') ->unique(); $query = Siswa::with('kelas') ->whereIn('id_kelas', $kelasIds); // SEARCH if ($request->filled('search')) { $search = $request->search; $query->where(function ($q) use ($search) { $q->where('nama', 'like', "%$search%") ->orWhere('nisn', 'like', "%$search%"); }); } // FILTER BY KELAS (hanya kelas yang diajar guru ini) if ($request->filled('filter_kelas')) { // Pastikan filter kelas yang dipilih memang kelas yang diajar guru ini if ($kelasIds->contains($request->filter_kelas)) { $query->where('id_kelas', $request->filter_kelas); } } $perPage = $request->get('perPage', 10); $siswas = $query->paginate($perPage)->appends($request->all()); // Dropdown filter hanya tampilkan kelas yang diajar guru ini $kelass = Kelas::whereIn('id_kelas', $kelasIds) ->orderBy('tingkat') ->orderBy('nama_kelas') ->get(); return view('guru.siswa.index', compact('siswas', 'kelass')); } }