CRUD Laravel 2 (16)
Assalamualaikum...
Hallooo gays, balik lagi nih di blog aku yooo, kali ini aku bakal meneruskan postingan yang sebelumnya dan postingan kali ini masih tentang CRUD yaa, kali ini aku bakal kasih tau caranya bagaimana edit dan juga delete pada laravel, langsung aja yuu mentemenn
1. Tambahkan kolom baru untuk opsi tambah dan edit
buka file resources/views/kelas.blade.php lalu tambahkan (yang di bold)
buka file resources/views/kelas.blade.php lalu tambahkan (yang di bold)
<tr>
<th width = "50px"><b>No.</b></th>
<th width = "100px">Kelas</th>
<th width = "300px">Jurusan</th>
<th width = "100px">Ruangan</th>
<th width = "300px">Wali Kelas</th>
<th colspan="2" width = "auto">Option</th>
</tr>
@foreach ($kelas as $kelad)
<tr>
<td>{{ isset($i) ? ++$i : $i = 1 }}</td>
<td>{{$kelad->nama_kelas}}</td>
<td>{{$kelad->jurusan}}</td>
<td>{{$kelad->lokasi_ruangan}}</td>
<td>{{$kelad->nama_wali_kelas}}</td>
<td headers="">
<a href="{{ url('/kelas/' . $kelad->id.'/edit') }}" class="btn btn-sm btn-primary">Edit</a>
</td>
</tr>
<th width = "50px"><b>No.</b></th>
<th width = "100px">Kelas</th>
<th width = "300px">Jurusan</th>
<th width = "100px">Ruangan</th>
<th width = "300px">Wali Kelas</th>
<th colspan="2" width = "auto">Option</th>
</tr>
@foreach ($kelas as $kelad)
<tr>
<td>{{ isset($i) ? ++$i : $i = 1 }}</td>
<td>{{$kelad->nama_kelas}}</td>
<td>{{$kelad->jurusan}}</td>
<td>{{$kelad->lokasi_ruangan}}</td>
<td>{{$kelad->nama_wali_kelas}}</td>
<td headers="">
<a href="{{ url('/kelas/' . $kelad->id.'/edit') }}" class="btn btn-sm btn-primary">Edit</a>
</td>
</tr>
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);
}
$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
@extends('layouts.app')
@section('content')
<div class="container">
@if(session('error'))
<div class="alert alert-error">
{{ session('error') }}
</div>
@endif
@if(count($errors) > 0)
<div class="alert alert-danger">
<strong>Warning !!!</strong>
<br>
<ul>
@foreach($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
</div>
<form action="{{url('/kelas',@$kelas->id)}}" method="POST">
@csrf
@if(!empty($kelas))
@method('PATCH')
@endif
<div class="container">
<h3>Data Kelas</h3>
<div class="col-md-12">
<strong>Kelas :</strong>
<input type="text" name="nama_kelas" class="form-control" placeholder="Masukan Kelas" value="{{ old('nama_kelas',@$kelas->nama_kelas) }}">
</div>
<div class="col-md-12">
<strong>Jurusan :</strong><br>
<select name="jurusan"class="form-control" >
<option value="" {{ old('jurusan', @$kelas->jurusan) == '' ? 'selected' : '' }}>- Pilih Jurusan -</option>
<option value="Audio Video" {{ old('jurusan',@$kelas->jurusan) == 'Audio Video' ? 'selected' : '' }}>Audio Video</option>
<option value="Teknik Instalasi Tenaga Listrik" {{ old('jurusan',@$kelas->jurusan) == 'Teknik Instalasi Tenaga Listrik' ? 'selected' : '' }}>Teknik Instalasi Tenaga Listrik</option>
<option value="Teknik Otomasi Industri" {{ old('jurusan',@$kelas->jurusan) == 'Teknik Otomasi Industri' ? 'selected' : '' }}>Teknik Otomasi Industri</option>
<option value="Rekayasa Perangkat Lunak" {{ old('jurusan',@$kelas->jurusan) == 'Rekayasa Perangkat Lunak' ? 'selected' : '' }}>Rekayasa Perangkat Lunak</option>
<option value="Teknik Komputer Jaringan" {{ old('jurusan',@$kelas->jurusan) == 'Teknik Komputer Jaringan' ? 'selected' : '' }}>Teknik Komputer Jaringan</option>
<option value="Multimedia" {{ old('jurusan',@$kelas->jurusan) == 'Multimedia' ? 'selected' : '' }}>Multimedia</option>
</select>
</div>
<div class="col-md-12">
<strong>Ruangan :</strong>
<input type="text" name="lokasi_ruangan" class="form-control" placeholder="Lokasi Ruangan" value="{{ old('lokasi_ruangan',@$kelas->lokasi_ruangan) }}">
</div>
<div class="col-md-12">
<strong>Nama Wali Kelas :</strong>
<input type="text" name="nama_wali_kelas" class="form-control" placeholder="Nama Walikelas" value="{{ old('nama_wali_kelas', @$kelas->nama_wali_kelas) }}">
</div>
<br>
<div class="col-md-12">
<button type="submit" class="btn btn-block btn-primary" value="Simpan">Submit</button>
<a href="{{url('/kelas')}}" class="btn btn-block btn-danger">Back</a>
</div>
</form>
</div>
@endsection
@section('content')
<div class="container">
@if(session('error'))
<div class="alert alert-error">
{{ session('error') }}
</div>
@endif
@if(count($errors) > 0)
<div class="alert alert-danger">
<strong>Warning !!!</strong>
<br>
<ul>
@foreach($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
</div>
<form action="{{url('/kelas',@$kelas->id)}}" method="POST">
@csrf
@if(!empty($kelas))
@method('PATCH')
@endif
<div class="container">
<h3>Data Kelas</h3>
<div class="col-md-12">
<strong>Kelas :</strong>
<input type="text" name="nama_kelas" class="form-control" placeholder="Masukan Kelas" value="{{ old('nama_kelas',@$kelas->nama_kelas) }}">
</div>
<div class="col-md-12">
<strong>Jurusan :</strong><br>
<select name="jurusan"class="form-control" >
<option value="" {{ old('jurusan', @$kelas->jurusan) == '' ? 'selected' : '' }}>- Pilih Jurusan -</option>
<option value="Audio Video" {{ old('jurusan',@$kelas->jurusan) == 'Audio Video' ? 'selected' : '' }}>Audio Video</option>
<option value="Teknik Instalasi Tenaga Listrik" {{ old('jurusan',@$kelas->jurusan) == 'Teknik Instalasi Tenaga Listrik' ? 'selected' : '' }}>Teknik Instalasi Tenaga Listrik</option>
<option value="Teknik Otomasi Industri" {{ old('jurusan',@$kelas->jurusan) == 'Teknik Otomasi Industri' ? 'selected' : '' }}>Teknik Otomasi Industri</option>
<option value="Rekayasa Perangkat Lunak" {{ old('jurusan',@$kelas->jurusan) == 'Rekayasa Perangkat Lunak' ? 'selected' : '' }}>Rekayasa Perangkat Lunak</option>
<option value="Teknik Komputer Jaringan" {{ old('jurusan',@$kelas->jurusan) == 'Teknik Komputer Jaringan' ? 'selected' : '' }}>Teknik Komputer Jaringan</option>
<option value="Multimedia" {{ old('jurusan',@$kelas->jurusan) == 'Multimedia' ? 'selected' : '' }}>Multimedia</option>
</select>
</div>
<div class="col-md-12">
<strong>Ruangan :</strong>
<input type="text" name="lokasi_ruangan" class="form-control" placeholder="Lokasi Ruangan" value="{{ old('lokasi_ruangan',@$kelas->lokasi_ruangan) }}">
</div>
<div class="col-md-12">
<strong>Nama Wali Kelas :</strong>
<input type="text" name="nama_wali_kelas" class="form-control" placeholder="Nama Walikelas" value="{{ old('nama_wali_kelas', @$kelas->nama_wali_kelas) }}">
</div>
<br>
<div class="col-md-12">
<button type="submit" class="btn btn-block btn-primary" value="Simpan">Submit</button>
<a href="{{url('/kelas')}}" class="btn btn-block btn-danger">Back</a>
</div>
</form>
</div>
@endsection
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 !!!');
}
}
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');
sebelum diedit
7. Tambahkan delete
buka file resources/views/kelas.blade.php lalu tambahkan (yang di bold)
<tr>
<td>{{ isset($i) ? ++$i : $i = 1 }}</td>
<td>{{$kelad->nama_kelas}}</td>
<td>{{$kelad->jurusan}}</td>
<td>{{$kelad->lokasi_ruangan}}</td>
<td>{{$kelad->nama_wali_kelas}}</td>
<td headers="">
<a href="{{ url('/kelas/' . $kelad->id.'/edit') }}" class="btn btn-sm btn-primary">Edit</a>
</td>
<td>
<form action ="{{ url('/kelas/' . $kelad->id) }}" method = "POST">
@method('DELETE')
@csrf
<button type="submit" class="btn btn-sm btn-danger">Delete</button>
</form>
</td>
</tr>
<td>{{ isset($i) ? ++$i : $i = 1 }}</td>
<td>{{$kelad->nama_kelas}}</td>
<td>{{$kelad->jurusan}}</td>
<td>{{$kelad->lokasi_ruangan}}</td>
<td>{{$kelad->nama_wali_kelas}}</td>
<td headers="">
<a href="{{ url('/kelas/' . $kelad->id.'/edit') }}" class="btn btn-sm btn-primary">Edit</a>
</td>
<td>
<form action ="{{ url('/kelas/' . $kelad->id) }}" method = "POST">
@method('DELETE')
@csrf
<button type="submit" class="btn btn-sm btn-danger">Delete</button>
</form>
</td>
</tr>
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
// DELETE
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 !!!');
}
}
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 !!!');
}
}
Kita langsung coba yuu guys..
sebelum dihapus
Studi Kasus 1
Jelaskan isi fungsi update dan destroy
Sama sama untuk mengambil data id dari sebuah button kemudian dieksekusi melalui perintah yang diinginkan
Studi kasus 2
Dalam tabel kelas tambah opsi edit dan delete (Diatas)
Sekian yang bisa saya sampaikan
Komentar
Posting Komentar