Upload image di form edit tanpa ganti image - laravel 5.1

saya mau tanya, saya punya form edit dan kebetulan ada imagenya, ketika tidak saya ganti gambarnya selalu muncul error,seperti

 Call to a member function getClientOriginalName() on null

tapi kalo saya ganti imagenya selalu berhasil. berikut skriptnya

  public function proseseditdata(Request  $request)
    {

        $param = $request->all();
        $filename = $request->file('file_photo')->getClientOriginalName();
        $destinationPath = 'photos/';
        $proses = $request->file('file_photo')->move($destinationPath, $filename);

        if($request->hasFile('file_photo'))
        {
            $data = array(
                    'nama' => $param['nama'],
                    'alamat'=> $param['alamat'],
                    'semester'=> $param['semester'],
                    'id_jurusan'=> $param['id_jurusan'],
                    'photo' => $filename,
                );

            DB::table('siswa')->where('id','=',input::get('id'))->update($data);

            return Redirect::to('read')->with('message','berhasil mengedit data');
        }else{
            return Redirect::to('formedit')->with('message','data gagal diedit');
        }
    }

Mohon bantuannya karena saya baru belajar untuk laravel ini, dan kebetulan pakaiinya yang versi 5.1. Terima kasih

avatar 4key
@4key

70 Kontribusi 2 Poin

Diperbarui 5 tahun yang lalu

Tanggapan

maaf, boleh tau source code view editnya ?? untuk referensi. karna saya punya kasus yg sama

4 Jawaban:

Jawaban Terpilih

Biasanya gara-gara di halaman edit, file imagenya ngga ke dimasukkin ke dalam <input type="file">, jadi isinya emang null.

Karena masalahnya pas proses update kalo gambar ngga diganti, ya field photo-nya ga usah diupdate.

 public function proseseditdata(Request  $request)
{
    $param = $request->all();
    $data = [
        'nama' => $param['nama'],
        'alamat'=> $param['alamat'],
        'semester'=> $param['semester'],
        'id_jurusan'=> $param['id_jurusan']
    ];

    $file_photo = $request->file('file_photo');

    // Kalo pas diedit gambar diganti / masukin gambar
    if($file_photo) {
        $filename = $file_photo->getClientOriginalName();
        $data['photo'] = $filename; // Update field photo

        $proses = $file_photo->move('photos/', $filename);
    }

    try {
        DB::table('siswa')->where('id','=',input::get('id'))->update($data);
        return Redirect::to('read')->with('message','berhasil mengedit data');
    }
    catch (\Exception $e) {
        return Redirect::to('formedit')->with('message','data gagal diedit');
    }
}
avatar rangerkuning
@rangerkuning

19 Kontribusi 15 Poin

Dipost 6 tahun yang lalu

Terima kasih mas, sudah bisa , memang itu keingainan saya maksudnya

avatar 4key
@4key

70 Kontribusi 2 Poin

Dipost 6 tahun yang lalu

Saya mengalami hal yang sama pada laravel 5.4, bedanya pada text area saya menggunakan summernote.. mohon bantuan untuk pertanyaan saya yang ini https://www.sekolahkoding.com/forum/eror-ketika-upload-gambar-dengan-summernote-pada-laravel-1524748988 Terimakasih sebelumnya

avatar Supriono
@Supriono

84 Kontribusi 16 Poin

Dipost 5 tahun yang lalu

Bkn nya maksud agan itu, ketika mau update data,, tpi fotonya gk diupdate misalnya cuma mau update nama aja, tpi foto kno hrus upload ulg ?

avatar DelfinJ
@DelfinJ

39 Kontribusi 3 Poin

Dipost 5 tahun yang lalu

Login untuk ikut Jawaban