diff --git a/projek_pkl/app/Http/Controllers/KaryawanController.php b/projek_pkl/app/Http/Controllers/KaryawanController.php index 50853bc..9b28410 100644 --- a/projek_pkl/app/Http/Controllers/KaryawanController.php +++ b/projek_pkl/app/Http/Controllers/KaryawanController.php @@ -1,32 +1,19 @@ ['nama' => 'Budi', 'umur' => 20, 'jabatan' => 'Manager'], -// 2 => ['nama' => 'Siti', 'umur' => 21, 'jabatan' => 'Staff'], -// 3 => ['nama' => 'Andi', 'umur' => 22, 'jabatan' => 'Staff'], -// 4 => ['nama' => 'Caca', 'umur' => 23, 'jabatan' => 'Staff'], -// 5 => ['nama' => 'Rudy', 'umur' => 24, 'jabatan' => 'Staff'], -// ]; - -// Cache::put('karyawan', $karyawan, now()->addMinutes(60)); -// return 'Data karyawan berhasil dimasukkan ke cache'; -// } - public function index() { - $karyawan = Cache::get('karyawan', []); + $karyawan = Karyawan::all(); return view('karyawan.index', compact('karyawan')); } - public function create() + public function create() { return view('karyawan.create'); } @@ -39,43 +26,27 @@ class KaryawanController extends Controller 'jabatan' => 'required', ]); - $karyawanBaru = [ + Karyawan::create([ 'nama' => $request->nama, 'umur' => $request->umur, 'jabatan' => $request->jabatan, - ]; - - $karyawan = Cache::get('karyawan', []); - $karyawan[] = $karyawanBaru; - Cache::put('karyawan', $karyawan, now()->addMinutes(60)); + ]); return redirect()->route('karyawan.index')->with('success', 'Data berhasil ditambahkan!'); } public function show($id) { - $karyawan = Cache::get('karyawan', []); - $data = $karyawan[$id] ?? null; - - if (!$data) { - abort(404, 'Karyawan tidak ditemukan'); - } - return view('karyawan.show', compact('data')); + $karyawan = Karyawan::findOrFail($id); + return view('karyawan.show', compact('karyawan')); } public function edit($id) { - $karyawan = Cache::get('karyawan', []); - if (!isset($karyawan[$id])) { - return redirect()->route('karyawan.index')->with('error', 'Data tidak ditemukan'); + $karyawan = Karyawan::findOrFail($id); + return view('karyawan.edit', compact('karyawan', 'id')); } - $data = $karyawan[$id]; - - return view('karyawan.edit', compact('data', 'id')); - } - - public function update(Request $request, $id) { $request->validate([ @@ -84,35 +55,21 @@ class KaryawanController extends Controller 'jabatan' => 'required', ]); - $karyawan = Cache::get('karyawan', []); - if (!isset($karyawan[$id])) return redirect()->route('karyawan.index')->with('error', 'Data tidak ditemukan'); - - $karyawan[$id] = [ + $karyawan = Karyawan::findOrFail($id); + $karyawan->update([ 'nama' => $request->nama, 'umur' => $request->umur, 'jabatan' => $request->jabatan, - ]; - - Cache::put('karyawan', $karyawan, now()->addMinutes(60)); + ]); return redirect()->route('karyawan.index')->with('success', 'Data berhasil diperbarui!'); } public function destroy($id) { - $karyawan = Cache::get('karyawan', []); + $karyawan = Karyawan::findOrFail($id); + $karyawan->delete(); - if (!isset($karyawan[$id])) { - return redirect()->route('karyawan.index')->with('error', 'Data tidak ditemukan'); + return redirect()->route('karyawan.index')->with('success', 'Data berhasil dihapus!'); } - - unset($karyawan[$id]); - - // Simpan ulang ke cache di sini - Cache::put('karyawan', $karyawan, now()->addMinutes(60)); - - return redirect()->route('karyawan.index')->with('success', 'Data berhasil dihapus!'); - } - - } diff --git a/projek_pkl/app/Models/karyawan.php b/projek_pkl/app/Models/karyawan.php new file mode 100644 index 0000000..143c684 --- /dev/null +++ b/projek_pkl/app/Models/karyawan.php @@ -0,0 +1,10 @@ +id(); + $table->string('nama'); + $table->integer('umur'); + $table->string('jabatan'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('karyawans'); + } +}; diff --git a/projek_pkl/database/seeders/DatabaseSeeder.php b/projek_pkl/database/seeders/DatabaseSeeder.php index d01a0ef..4bb7759 100644 --- a/projek_pkl/database/seeders/DatabaseSeeder.php +++ b/projek_pkl/database/seeders/DatabaseSeeder.php @@ -13,11 +13,10 @@ class DatabaseSeeder extends Seeder */ public function run(): void { - // User::factory(10)->create(); - User::factory()->create([ - 'name' => 'Test User', - 'email' => 'test@example.com', - ]); + $this->call(KaryawanSeeder::class); } } + + + diff --git a/projek_pkl/database/seeders/KaryawanSeeder.php b/projek_pkl/database/seeders/KaryawanSeeder.php new file mode 100644 index 0000000..fca0d96 --- /dev/null +++ b/projek_pkl/database/seeders/KaryawanSeeder.php @@ -0,0 +1,33 @@ + 'John Doe', + 'umur' => 30, + 'jabatan' => 'Manager', + ]); + Karyawan::create([ + 'nama' => 'Ethy Amph la', + 'umur' => 28, + 'jabatan' => 'staff', + ]); + Karyawan::create([ + 'nama' => 'Neige Saary', + 'umur' => 20, + 'jabatan' => 'staff', + ]); + + } +} diff --git a/projek_pkl/resources/views/karyawan/edit.blade.php b/projek_pkl/resources/views/karyawan/edit.blade.php index 7a9fd13..e246c3f 100644 --- a/projek_pkl/resources/views/karyawan/edit.blade.php +++ b/projek_pkl/resources/views/karyawan/edit.blade.php @@ -77,24 +77,24 @@