'Data User']; if (!$request->ajax() && $request->getMethod() === 'GET') { return view('page.dashboard.user.index', compact('data')); } if ($request->ajax() && $request->getMethod() === 'GET') { $perPage = $request->input('per_page', 10); $query = User::query(); if ($request->has('search')) { $searchTerm = $request->input('search'); $query->where('name', 'like', "%$searchTerm%") ->orWhere('email', 'like', "%$searchTerm%") ->orWhere('created_at', 'like', "%$searchTerm%"); } $data = $query->paginate($perPage); if ($data) { return response()->json(['message' => $data], 200); } else { return response()->json(['message' => 'Tidak ada data!'], 404); } } $create = User::create($request->all()); if ($create) { return response()->json(['message' => 'Berhasil menambah data!'], 200); } else { return response()->json(['message' => 'Gagal menambah data!'], 404); } } public function update(Request $request, $id) { if ($request->ajax()) { $data = User::findOrFail($id); if (!$data) { return response()->json(['message' => 'Data tidak ditemukan!'], 404); } if ($request->isMethod('get')) { return response()->json(['message' => $data], 200); } $data->updated_at = Carbon::now(); $data->update($request->only(['name', 'email'])); return response()->json(['message' => 'Berhasil update data!'], 200); } } public function delete(Request $request, $id) { if ($request->ajax()) { $data = User::findOrFail($id); if ($data->delete()) { return response()->json(['message' => 'Berhasil hapus data!'], 200); } else { return response()->json(['message' => 'Gagal hapus data!'], 404); } } } }