ajax()) { $data = User::select('*')->whereIn('level', [1,2])->orderBy('created_at', 'desc'); // Convert the Eloquent Collection to a regular PHP array $data->each(function ($item, $key) { $item->rowIndex = $key + 1; }); return DataTables::eloquent($data) ->addIndexColumn() ->addColumn('role', function($row){ if ($row->level == 1) { return 'Admin'; } else { return 'User'; } }) ->rawColumns(['role']) ->make(true); } return view('main.user'); } /** * Show the form for creating a new resource. */ public function create() { return view('main.add-user'); } /** * Store a newly created resource in storage. */ public function store(Request $request) { $validator = Validator::make($request->all(), [ 'name' => 'required', 'level' => 'required', 'email' => 'required', 'password' => 'required' ]); if($validator->fails()) { return redirect()->back()->with('error', 'Terjadi kesalahan pada penambahan data'); } $post = new User([ 'name' => $request->input('name'), 'email' => $request->input('email'), 'password' => Hash::make($request->input('password')), 'level' => $request->input('level') ]); $check = User::where('name', $request->input('name'))->count(); if($check == 0) { if($post->save()) { return redirect()->route('user')->with('success' , 'Data berhasil ditambahkan'); } else { return redirect()->route('user')->with('error' , 'Data gagal ditambahkan'); } } else { return redirect()->route('user')->with('error' , 'Data yang diproses telah ada sebelumnya'); } } /** * Show the form for editing the specified resource. */ public function edit($id) { $user = User::find($id); if($user) { return view('main.edit-user', compact('user', 'id')); } else { return redirect()->back()->with('error' , 'Data tidak ditemukan.')->withInput(); } } public function update(Request $request, $id) { $validator = Validator::make($request->all(), [ 'name' => 'required', 'email' => 'required|email', 'level' => 'required', ]); if ($validator->fails()) { return redirect()->back()->with('error' , 'Terdapat inputan yang masih kosong.')->withInput(); } // Cari data berdasarkan ID $user = User::find($id); // Jika data ditemukan if ($user) { // Update data dengan data baru dari form yang telah dibersihkan $user->name = $request->input('name'); $user->email = $request->input('email'); !empty($request->input('password')) ? $user->password = bcrypt($request->input('password')) : $user->password; $user->level = $request->input('level'); // Simpan perubahan pada database $user->save(); return redirect()->route('user')->with('success', 'Berhasil diperbarui'); } else { return redirect()->route('user')->with('error' , 'Gagal diperbarui'); } } /** * Remove the specified resource from storage. */ public function delete($id) { $user = User::find($id); // Jika data ditemukan if ($user) { // Hapus data dari database $user->delete(); return redirect()->route('user')->with('success', 'Berhasil dihapus akun!'); } else { return redirect()->route('user')->with('error', 'Terjadi kesalahan'); } } }