mardi 5 mars 2019

Edit Form in Laravel: Creates New Entry instead of Updating Old Data

I tried to create edit method on form data submission, but instead of updating the old entry, it creates a new entry in the database..

My source files are: web.php

Route::get('/input_gedung_bangunan/{id_bangunan}', 'input_gedung_bangunan@tampiledit');
Route::post('/data_gedung_bangunan/hitung_data', 'input_gedung_bangunan@store');

Controller:

public function store(Request $request){
        //DB::enableQueryLog();
        //$id_bangunan = $id;
        $validation = \App\Tbl_uraian_datas::where('id_bangunan', '=', $request->get('id_bangunan'))->first();
        if(is_null($validation)){
        $tbl_uraian_datas = new \App\Tbl_uraian_datas;
        $tbl_uraian_datas->id_bangunan = $request->get('id_bangunan');
        $tbl_uraian_datas->id_kanwil = Input::get('IDKanwil');
        $tbl_uraian_datas->id_kota_kab = Input::get('IDKotaKab');            
        $tbl_uraian_datas->nomor_baris = Input::get('NomorBaris');
        $tbl_uraian_datas->nama_bangunan = Input::get('NamaBangunan');
        $tbl_uraian_datas->alamat_bangunan = Input::get('AlamatBangunan');
        $tbl_uraian_datas->nama_kota_kab = Input::get('Kota/Kabupaten');    
        $tbl_uraian_datas->kode_barang = Input::get('KodeBarang');
        $tbl_uraian_datas->nup_barang = Input::get('NUPBarang');
        $tbl_uraian_datas->luas_lantai = Input::get('LuasLantai');
        $tbl_uraian_datas->jumlah_lantai = Input::get('JumlahLantai');
        $tbl_uraian_datas->tahun_penilaian = Input::get('TahunPenilaian');
        $tbl_uraian_datas->tahun_dibangun = Input::get('TahunDibangun');
        $tbl_uraian_datas->tahun_direnovasi = Input::get('TahunDirenovasi');
        $tbl_uraian_datas->id_jenis_bangunan = Input::get('IDJenisBangunan');
        $tbl_uraian_datas->jenis_bangunan = Input::get('JenisBangunan');
        $tbl_uraian_datas->id_kategori = Input::get('IDKategoriBangunan');
        $tbl_uraian_datas->kategori_bangunan = Input::get('KategoriBangunan');
        $tbl_uraian_datas->id_kondisi = Input::get('IDKondisiBangunan');
        $tbl_uraian_datas->kondisi_bangunan = Input::get('KondisiBangunan');
        $tbl_uraian_datas->luas_carport = Input::get('LuasCarport');
        $tbl_uraian_datas->panjang_pagar_material1 = Input::get('PanjangPagar1');
        $tbl_uraian_datas->panjang_pagar_material2 = Input::get('PanjangPagar2');
        $tbl_uraian_datas->panjang_pagar_material3 = Input::get('PanjangPagar3');
        $tbl_uraian_datas->harga_per_m2 = Input::get('Hargaperm2');
        $tbl_uraian_datas->alasan_fisik = Input::get('Alasan1');
        $tbl_uraian_datas->penyusutan = Input::get('Penyusutan');
        $tbl_uraian_datas->alasan_penyusutan = Input::get('Alasan2');
        $tbl_uraian_datas->save();

        }else{
          //Edit Data Gedung/Bangunan
        $tbl_uraian_datas = \App\Tbl_uraian_datas::update(['id_kanwil' =>  Input::get('IDKanwil'), 'id_kota_kab' =>  Input::get('IDKotaKab'), 'nomor_baris' =>  Input::get('NomorBaris'),'nama_bangunan' => Input::get('nama_bangunan'),'alamat_bangunan' => Input::get('AlamatBangunan'),'nama_kota_kab' => Input::get('Kota/Kabupaten'),'kode_barang' => Input::get('KodeBarang'),'nup_barang' => Input::get('NUPBarang'),'luas_lantai' => Input::get('LuasLantai'),'jumlah_lantai' => Input::get('JumlahLantai'),'tahun_penilaian' => Input::get('TahunPenilaian'),'tahun_dibangun' => Input::get('TahunDibangun'),'tahun_direnovasi' => Input::get('TahunDirenovasi'),'id_jenis_bangunan' => Input::get('IDJenisBangunan'),'jenis_bangunan' => Input::get('JenisBangunan'),'id_kategori' => Input::get('IDKategoriBangunan'),'kategori_bangunan' => Input::get('KategoriBangunan'),'id_kondisi' => Input::get('IDKondisiBangunan'),'kondisi_bangunan' => Input::get('KondisiBangunan'),'luas_carport' => Input::get('LuasCarport'),'panjang_pagar_material1' => Input::get('PanjangPagar1'),'panjang_pagar_material2' => Input::get('PanjangPagar2'),'panjang_pagar_material3' => Input::get('PanjangPagar3'),'harga_per_m2' => Input::get('Hargaperm2'),'alasan_fisik' => Input::get('Alasan1'),'penyusutan' => Input::get('Penyusutan'),'alasan_penyusutan' => Input::get('Alasan2')]);

        //$tbl_hasil_perhitungans = \App\Tbl_hasil_perhitungans::where('id_bangunan', '=',$request->get('id_bangunan'))->update(['umur_efektif_bangunan' =>  Input::get('nUmurEfektifBangunan'), 'pembulatan' =>  Input::get('nPembulatan')]);


        $request->session()->flash('alert-success', 'Data Gedung Bangunan was successfully added!');

        return back();            
        }
     }

It looks like the controller keeps making the new id for the editted data and I don't know what I did wrong in my controller.

Thanks in advance.



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire