Catatan Laravel #7 (Edit dan Delete Data)


Assalamu 'alaikum wr wb
pada postingan kali ini kita akan membahas tentang salah satu framework PHP yang sangat populer yaitu laravel
Kali ini kita akan menginput data ke database,
-
postingan ini menyambung postingan yang sebelumnya dimana kita sudah berhasil "Input Data ke database"
-
untuk mempersingkat waktu langsung aja kita tambahin routenya,

Route::get('/pegawai/edit/{id}','PegawaiController@edit');
Route::post('/pegawai/update','PegawaiController@update');
Route::get('/pegawai/hapus/{id}','PegawaiController@hapus');

Nah sedikit saya jelaskan Route pertama yaitu berfungsi sebagai memanggil view edit atau ketika kita ingin menampilkan halaman edit.blade.php yang ada difolder view,
sebelum tampil akan diarahkan ke controller (PegawaiController) untuk di cek, nah untuk controller editdibawah ini

public function edit($id) {
    // mengambil data pegawai berdasarkan id yang dipilih
    $pegawai = DB::table('pegawai')->where('pegawai_id',$id)->get();
    // passing data pegawai yang didapat ke view edit.blade.php
    return view('pegawai.edit',['pegawai' => $pegawai]);
    }

sedikit penjelasan untuk controller edit
kenapa ada ($id) ?
karena ketika kita klik edit yang ada di halaman awal akan menangkap id dimana pastikan yang tak semua id data (primary key), agar kita bisa edit 1 data saja biar data itu tidak acak-acakan.
ini koding yang ada di index untuk memanggil si view ini dengan id,

<a href="/larako/pegawai/edit/{{ $peg->pegawai_id }}">Edit</a>

secara url http://localhost/larako/pegawai/edit/1
{{ $peg->pegawai_id }} akan menangkap id kebetulan saya menangkap yang ber id 1

Kemudian route yang kedua untuk memproses atau mengirim data baru untuk di update ini koding controllernya (PegawaiController)

public function update(Request $request) {
    // update data pegawai
    DB::table('pegawai')->where('pegawai_id',$request->id)->update([
        'pegawai_nama' => $request->nama,
        'pegawai_jabatan' => $request->jabatan,
        'pegawai_umur' => $request->umur,
        'pegawai_alamat' => $request->alamat
    ]);
    // setelah proses selesai alihkan ke halaman pegawai
    return redirect('/pegawai');
    }

oiyahh hampir saja lupaa..
tambahkan file edit.blade.php pada view

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>edit data pegawai</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" type="text/css" media="screen" href="main.css" />
    <script src="main.js"></script>
</head>
<body>
    <h3>
        Edit Data Pegawai
    </h3>
    <a href="/larako/pegawai"> Kembali</a>
    @foreach($pegawai as $peg)
    <form action="/larako/pegawai/update" method="post">
        {{ csrf_field() }}
        <input type="hidden" name="id" value="{{ $peg->pegawai_id }}"> <br/>
        Nama Lengkap <br/>
        <input type="text" required="required" name="nama" value="{{ $peg->pegawai_nama }}"> <br/>
        Jabatan <br/>
        <input type="text" required="required" name="jabatan" value="{{ $peg->pegawai_jabatan }}"> <br/>
        Umur <br/>
        <input type="number" required="required" name="umur" value="{{ $peg->pegawai_umur }}"> <br/>
        Alamat <br/>
        <textarea required="required" name="alamat">{{ $peg->pegawai_alamat }}</textarea> <br/>
        <input type="submit" value="Update Data">
    </form>
    @endforeach
</body>
</html>

Setelah selesai kita coba edit 1 data dari master pegawai

Akan pindah ke url http://localhost/larako/pegawai/edit/3

Disini saya coba edit
- jabatan -> hacker sakti
- alamat -> tidak diketahui
karna hacker sakti jadi alamat harus tidak bisa dilacak heheheeee :D
setelah selesai atau tidak ada lagi data yang diedit saya klik update data
hasilnyaa,, taraaa......

Kita sudah berhasil Edit dataa..
Sekarang kita coba menghapus Data,,
Hapus data menggunakan route ke tiga dimana Controllernya ialah

public function hapus($id) {
    // menghapus data pegawai berdasarkan id yang dipilih
    DB::table('pegawai')->where('pegawai_id',$id)->delete();
      
    // setelah proses selesai alihkan ke halaman pegawai
    return redirect('/pegawai');
    }

sama seperti edit data, link hapus data pun menggunakan id sebagai primary key dari data tersebut bayangkan kalau tak pakai primary key dan ketika di klik hapus semua data yang id sama akan terhapus, kalau semua id nya sama? nah kehapus semua -___-,,

Sekian dari saya
Assalamu 'alaikum wr wb
-
oiyah belum dicobaa -____-,,
kita klik saja hapuss pada kenangan yg ingin dihapus eh maksudnya dataa -___- #garing...

 tunggu sebentar dann.. taraaa..

Sekian dari saya
Assalamu 'alaikum wr wb
Previous
Next Post »
Thanks for your comment