search; $anggota = Anggota::when($keyword, function ($q) use ($keyword) { $q->where('nama', 'like', "%$keyword%") ->orWhere('no_identitas', 'like', "%$keyword%") ->orWhere('no_ktp', 'like', "%$keyword%"); }) ->latest() ->paginate(10); return view('anggota.index', compact('anggota')); } public function create() { return view('anggota.create'); } public function store(Request $request) { $validated = $request->validate([ 'nama' => 'required|string|max:255', 'jenis_anggota' => 'required|in:Mahasiswa,Siswa,Dosen,Umum', 'no_identitas' => 'required|unique:anggotas,no_identitas', 'no_ktp' => 'required|numeric|digits_between:1,16|unique:anggotas,no_ktp', 'prodi' => 'required_unless:jenis_anggota,Umum|nullable|string|max:255', 'no_hp' => 'required|numeric|digits_between:10,13', 'alamat' => 'required|string', 'nama_wali' => 'required|string|max:255', 'no_hp_wali' => 'required|numeric|digits_between:10,13', 'hubungan_wali' => 'required|in:Orang Tua,Saudara,Dosen Wali,Lainnya', ]); Anggota::create($validated); return redirect() ->route('admin.anggota.member.index') ->with('success', 'Data anggota berhasil ditambahkan!'); } public function edit(Anggota $member) { return view('anggota.edit', ['anggota' => $member]); } public function update(Request $request, Anggota $member) { $validated = $request->validate([ 'nama' => 'required|string|max:255', 'jenis_anggota' => 'required|in:Mahasiswa,Siswa,Dosen,Umum', 'no_identitas' => 'required|unique:anggotas,no_identitas,' . $member->id, 'no_ktp' => 'required|numeric|digits_between:1,16|unique:anggotas,no_ktp,' . $member->id, 'prodi' => 'required_unless:jenis_anggota,Umum|nullable|string|max:255', 'no_hp' => 'required|numeric|digits_between:10,13', 'alamat' => 'required|string', 'nama_wali' => 'required|string|max:255', 'no_hp_wali' => 'required|numeric|digits_between:10,13', 'hubungan_wali' => 'required|in:Orang Tua,Saudara,Dosen Wali,Lainnya', ]); $member->update($validated); return redirect() ->route('admin.anggota.member.index') ->with('success', 'Data anggota berhasil diperbarui!'); } public function destroy(Anggota $member) { $member->delete(); return redirect() ->route('admin.anggota.member.index') ->with('success', 'Data anggota berhasil dihapus!'); } }