Edit dan Delete Data Laravel
Hallo..
Cerate Read Update Delete Data dengan Laravel.
Pemahasan Kali ini melanjutakan pemhasan sebelumnya, mengenai bagaimana cara update atau edit data dan delete data menggunakan framework laravel.
Untuk pertama Penjelasan Mengenai Fungsi uatma yaitu Update dan destroy
public function update(Request $request, $id)
{
$rule =
[
'kelas' => 'required',
'jurusan' => 'required',
'wali_kelas' => 'required',
'lokasi_ruangan' => 'required|max:5',
];
$messages = [
'required' => 'Isi Data terlebih dahulu dengan Benar!',
];
$this->validate($request, $rule, $messages);
$input = $request->all();
unset($input['_token']);
unset($input['_method']);
$status = \DB::table('t_kelas')->where('id', $id)->update($input);
if ($status) {
return redirect('/belajar')->with('success','Data Berhasil ubah');
}else {
return redirect('/kelas/create')->with('error','Data Gagal ubah');
}
}
$this->validate($request, $rule, $messages);
pada bagian ini yaitu validate() berfungsi sebagia validasi form, di dalam validasi ini terdapat beberapa variable yaitu $rule, $messages Pada $ruledalam variable ini terdapat beberapa array yang berisi name dari form dalam $ ruke ini name tersebut kita tetapkan dengan required dan lainya supa form tersebut tidak di isi dengn adata yang kosong, dan pada $ massage kita dapat meng custem sendiri massage apa yang nanti akan di berikan kepada si user apada bilas data yang di input salah atua gagal.
$status = \DB::table('t_kelas')->where('id', $id)->update($input);
if ($status) {
return redirect('/belajar')->with('success','Data Berhasil ubah');
}else {
return redirect('/kelas/create')->with('error','Data Gagal ubah');
}
Pada bagian ini terdapat query dan yang akan meng update data yang di input ke data base dan apabila data yng di input benar maka di return succes dan salam maka return error.
public function destroy(Request $request, $id){
$status = \DB::table('t_kelas')->where('id', $id)->delete($id);
if ($status) {
return redirect('/belajar')->with('success','Data Berhasil di hapus');
}else {
return redirect('/kelas/create')->with('error','Data Gagal hapus');
}
}
Method destroy ini berfungsi untuk menghapus row berdasarkan id yang dicari. Bisa juga langsung menghapus beberapa / banyak row.
maka di route nya seperti ini :
Route::delete('/kelas/{id}/', 'Kelas@destroy');
Selanjutnya Edit Delete di tabel kelas
untuk route nya
Route::get('/', "Kelas@index");
Route::get('/belajar', 'Kelas@index');
Route::get('/create', 'Kelas@create');
Route::post('/kelas', 'Kelas@store');
Route::get('/kelas/{id}/edit', 'Kelas@edit');
Route::patch('/kelas/{id}/', 'Kelas@update');
Route::delete('/kelas/{id}/', 'Kelas@destroy');
Untuk formnya :
@if(session('error'))
<div class="alert alert-error">
{{ session('error') }}
</div>
@endif
@if (count($errors) > 0)
<div class="alert alert-danger">
<strong>Perhatian</strong>
<br>
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<h1>Form Siswa</h1>
<form action="{{ url('kelas', @$kelas->id) }}" method="post">
@csrf
@if(!empty($kelas))
@method('PATCH')
@endif
<div>
Nama Kelas : <input type="text" name="kelas" value="{{ old('kelas', @$kelas->kelas)}}"><br>
</div>
<div>
Nama Jurusan : <input type="text" name="jurusan" value="{{ old('jurusan', @$kelas->jurusan)}}"><br>
</div>
<div>
Nama Wali Kelas : <input type="text" name="wali_kelas" value="{{ old('wali_kelas', @$kelas->wali_kelas)}}"><br>
</div>
<div>
lLokasi ruangan : <input type="text" name="lokasi_ruangan" value="{{ old('lokasi_ruangan', @$kelas->lokasi_ruangan)}}"><br>
</div>
<input type="submit" value="Simpan">
</form>
untuk Controller nya :
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class Kelas extends Controller
{
public function index(){
$data['kelas'] = \DB::table('t_kelas')
->get();
return view('belajar', $data);
}
public function create()
{
return view('kelas.form');
}
public function store(Request $request)
{
$rule =
[
'kelas' => 'required',
'jurusan' => 'required',
'wali_kelas' => 'required',
'lokasi_ruangan' => 'required|max:5',
];
$messages = [
'required' => 'Isi Data terlebih dahulu dengan Benar!',
];
$this->validate($request, $rule, $messages);
$input = $request->all();
unset($input['_token']);
$status = \DB::table('t_kelas')->insert($input);
if ($status) {
return redirect('/belajar')->with('success','Data Berhasil Ditambahkan');
}else {
return redirect('/kelas/create')->with('error','Data Gagal Ditambahkan');
}
}
public function update(Request $request, $id)
{
$rule =
[
'kelas' => 'required',
'jurusan' => 'required',
'wali_kelas' => 'required',
'lokasi_ruangan' => 'required|max:5',
];
$messages = [
'required' => 'Isi Data terlebih dahulu dengan Benar!',
];
$this->validate($request, $rule, $messages);
$input = $request->all();
unset($input['_token']);
unset($input['_method']);
$status = \DB::table('t_kelas')->where('id', $id)->update($input);
if ($status) {
return redirect('/belajar')->with('success','Data Berhasil ubah');
}else {
return redirect('/kelas/create')->with('error','Data Gagal ubah');
}
}
public function edit(Request $request, $id){
$data['kelas'] = \DB::table('t_kelas')->find($id);
return view('kelas.form', $data);
}
public function destroy(Request $request, $id){
$status = \DB::table('t_kelas')->where('id', $id)->delete($id);
if ($status) {
return redirect('/belajar')->with('success','Data Berhasil di hapus');
}else {
return redirect('/kelas/create')->with('error','Data Gagal hapus');
}
}
}
Setelah di tambah edit dan delete
Meng Edit Data :
Sebelum di edit :
Edit datanya :
Setelah di edit :
Setelah Itu Delete data nya :
Sekian Pembahsan kali ini Terimaksaih..
Komentar
Posting Komentar