Tutorial CRUD Laravel Bagian 3 (Update)
Halo kawan-kawan semua. kita lanjutkan lagi tutorial crud kita dengan eloquent laravel. tutorial crud kita ini dilengkapi dengan upload file. oke langsung saja.
#Update
adalah cara mengubah/memperbaiki data yang ada pada
database. baik langsung saja kita mulai membuat updata data. kita ikuti step
berikut.
- Buat link untuk di arahkan ke sebuah route
- Route
- Controller
- edit atau persiapkan model (opsional)
- passing data dari model (opsional)
- view
1. buat link (siswa\siswa_index.blade.php)
kita buat link dari tombol edit yang ada di view siswa\siswa_index.blade.php
<a href="{{url('editsiswa').'/'.$row->id}}" class="btn btn-success
btn-sm">Edit</a>
2. Route (routes/web.php)
setelah link dibuat, kita tangkap link tadi di route. routes/web.php
Route::get('/editsiswa/{id}',
'SiswaController@editsiswa');
di controller kita dapat menangkap id dari parameter fungsi editsiswa
pada SiswaController.
3. Controller (app\http\controllers\SiswaControllers.php)
kita tambahkan fungsi editsiswa.
public function editsiswa($id){
$siswa=new Siswa;
$data=$siswa::find($id);
return view('siswa.edit_siswa',['siswa'
=> $data]);
}
$siswa::find($id); adalah eloquent untuk mencari data berdasarkan primary key. data
berupa array tersebut di passing ke view.
4. Buat View (resources\views\siswa\edit_siswa.blade.php)
old('nama') adalah nilai inputan yang dipertahankan ketika ada bagian lain yang tidak valid.
$siswa->nama data yang di passing ke view tadi.
Proses pertama untuk update selesai. step nya berulang lagi.
- Buat link untuk di arahkan ke sebuah route
- Route
- Controller
- edit atau persiapkan model (opsional)
- passing data dari model (opsional)
- View
1. Buat Link
untuk link kita buat dari action form edit_siswa.blade.php.
action="{{url('aksi_editsiswa')}"
setelah link dibuat, kita tangkap link tadi di controller. routes/web.php
Route::post('/aksi_editsiswa', 'SiswaController@aksi_editsiswa');
3. Controller (app\http\controllers\SiswaControllers.php)
3. Controller (app\http\controllers\SiswaControllers.php)
ada dua kondisi paling berpengaruh di update ini. yaitu ketika gambar atau file di ubah atau tidak. jika file tidak di ganti maka kondisi pertama dijalankan. jika file diganti maka file baru diupload dan file lama di hapus. berikut eloquent untuk update data.
$siswa::find($request->id)
->update($request->all());
4. View
untuk view kita hanya menampilkan siswa_index.blade.php
untuk view kita hanya menampilkan siswa_index.blade.php
return redirect('/siswa');
Terima kasih