Studi Kasus 1
Jelaskan fungsi Update dan Destroy !
Untuk isi dari DESTROY ini merupakan Query untuk perintah
Delete
$status = \DB::table('t_siswa')->where('id',$id)->delete();
Perbedaannya adalah fungsi ini tidak meminta data alias
hanya meminta $id dari route {id}.
Pengubahan baris tadi ke Query adalah seperti ini :
DELETE from t_siswa where id='$id'
Seperti di fungsi Update, disini juga terdapat pengecekan yang pada akhirnya mereturn redirect bersama pesannya
Studi Kasus 2
Implementasikan untuk tabel t_kelas Edit dan Delete
Kali ini Admin akan meneruskan postingan sebelumnya masih tentang CRUD, kali ini mimin akan kasih tau caranya bagaimana edit dan juga delete pada laravel, Yuk kita langsung aja..
1. Tambahkan kolom baru untuk opsi tambah dan edit
buka file resources/views/kelas.blade.php lalu tambahkan
<th colspan="2" width = "auto">Option</th>
2. Tambahkan Routes Edit
buka file routes/web.php lalu tambah
Route::get('/kelas/{id}/edit','KelasController@edit');
3. Tambahkan fungsi edit
buka file app/Http/Controllers/KelasController.php lalu
tambahkan
public function edit (Request $request, $id){
$data['kelas'] = \DB::table('t_kelas')->find($id);
return view('kelas.form',$data);
}
4. Edit file form kelas
buka file resources/views/kelas/form.blade.php lalu edit dan
tambahkan bagian
<form action="{{url('/kelas',@$kelas->id)}}" method="POST">
@csrf
@if(!empty($kelas))
@method('PATCH')
@endif
5. Tambahkan fungsi update
buka file app/Http/Controllers/KelasController.php lalu
tambahkan
// Update
public function update(Request $request, $id){
$rule=[
'nama_kelas' => 'required',
'jurusan' => 'required',
'lokasi_ruangan' => 'required',
'nama_wali_kelas' => 'required',
];
$this->validate($request, $rule);
$input = $request->all();
unset($input['_token']);
unset($input['_method']);
$status = \DB::table('t_kelas')->where('id',$id)->update($input);
if($status){
return redirect('/kelas')->with('success','Data berhasil diubah !!!');
} else {
return redirect('/kelas/create')->with('error','Data gagal diubah !!!');
}
}
6. Tambahkan Routes untuk fungsi update
buka file routes/web.php lalu tambahkan
Route::patch('/kelas/{id}','KelasController@update');
Nah kita langsung dicoba saja..
7. Tambahkan delete
buka file resources/views/kelas.blade.php lalu tambahkan
<form action ="{{ url('/kelas/' . $kelad->id) }}" method = "POST">
@method('DELETE')
@csrf
<button type="submit" class="btn btn-sm btn-danger">Delete</button>
</form>
8. Tambahkan Routes delete
buka file routes/web.php lalu tambahkan
Route::delete('/kelas/{id}','KelasController@destroy');
9. Tambahkan fungsi destroy
buka file app/Http/Controllers/KelasController.php lalu
tambahkan
public function destroy(Request $request, $id){
$status = \DB::table('t_kelas')->where('id',$id)->delete();
if($status){
return redirect('/kelas')->with('success','Data berhasil di Hapus !!!');
} else {
return redirect('/kelas/create')->with('error','Data gagal dihapus !!!');
}
}
Coba di Browser
Comments
Post a Comment