ajax()) { $data = PerangkatDaerah::all(); return DataTables::of($data) ->addIndexColumn() ->addColumn('action', function($row){ $btn = ''; $btn .= ' '; return $btn; }) ->rawColumns(['action']) ->make(true); } return view('master.perangkat_daerah.index'); } public function store(Request $request) { $validated = $request->validate([ 'nama_pd' => 'required|string|max:255', ]); PerangkatDaerah::create($validated); return response()->json(['success' => 'Perangkat Daerah berhasil disimpan.']); } public function update(Request $request, PerangkatDaerah $perangkatDaerah) { $validated = $request->validate([ 'nama_pd' => 'required|string|max:255', ]); $perangkatDaerah->update($validated); return response()->json(['success' => 'Perangkat Daerah berhasil diperbarui.']); } public function destroy(PerangkatDaerah $perangkatDaerah) { if (!$perangkatDaerah) { return response()->json(['error' => 'Data tidak ditemukan.'], 404); } $perangkatDaerah->delete(); return response()->json(['success' => 'Perangkat Daerah berhasil dihapus.']); } public function import(Request $request) { $request->validate(['file' => 'required|mimes:xls,xlsx']); try { Excel::import(new PerangkatDaerahImport, $request->file('file')); return back()->with('success', 'Data Perangkat Daerah berhasil diimpor.'); } catch (\Exception $e) { return back()->with('error', 'Gagal mengimpor data: ' . $e->getMessage()); } } }