• Artikel Terbaru

    MODUL MEMBUAT PROGRAM DENGAN LARAVEL 10 Part 6 – EDIT DAN UPDATE DATA KE DATABASE

     


        MODUL MEMBUAT PROGRAM DENGAN LARAVEL 10 Part 6 EDIT DAN UPDATE DATA KE DATABASE

        Di modul ini adalah menguapdate data yang ada di database dengan menggunakan/memanggil berdasarkan id, untuk membuat kode update kita harus membuat dua method yaitu :

    Function edit – method ini digunakan untuk menampilkan halaman form edit data

    Function update – method ini digunakan untuk memproses data yang akan diupdate ke dalam database­

    Untuk itu silahkan buka file app/Http/Controller/BeritaController.php kemudian tambah kode berikut ini di bawah method show seperti berikut ini :

    1.  Tambah
    //import Facade "Storage"


    use Illuminate\Support\Facades\Storage;


    2.  Method edit di taruh dibawah nya method show

    public function edit(string $id): View

        {

            //get post by ID

            $berita = Berita::findOrFail($id);

     

            //render view with post

            return view('beritas.edit', compact('berita'));

        }

     

    3.  Method update di taruh dibawah nya method edit

     

    public function update(Request $request, $id): RedirectResponse

        {

            //validate form

            $this->validate($request, [

                'gambar'     => 'image|mimes:jpeg,jpg,png|max:2048',

                'judul'     => 'required|min:5',

                'isi'   => 'required|min:10'

            ]);

     

            //get post by ID

            $berita = Berita::findOrFail($id);

     

            //check if image is uploaded

            if ($request->hasFile('gambar')) {

     

                //upload new image

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

                $gambar->storeAs('public/beritas', $gambar->hashName());

     

                //delete old image

                Storage::delete('public/beritas/'.$berita->gambar);

     

                //update post with new image

                $berita->update([

                    'gambar'     => $gambar->hashName(),

                    'judul'     => $request->judul,

                    'isi'   => $request->isi

                ]);

     

            } else {

     

                //update post without image

                $berita->update([

                    'judul'     => $request->judul,

                    'isi'   => $request->isi

                ]);

            }

     

            //redirect to index

            return redirect()->route('beritas.index')->with(['success' => 'Data Berhasil Diubah!']);

        }


    4.  Setelah menambahkan method di atas, langkah selanjutnya adalah membuat file edit.blade.php di folder resources/views/beritas dan kodingnya sperti berikut ini

     

    <!DOCTYPE html>

    <html lang="en">

    <head>

        <title>Data Beritas - RPL</title>

        <link rel="stylesheet" href="http://localhost/bootstrap/bootstrap.min.css">

    </head>

    <body style="background: lightgray">

     

        <div class="container mt-5 mb-5">

            <div class="row">

                <div class="col-md-12">

                    <div class="card border-0 shadow-sm rounded">

                        <div class="card-body">

                            <form action="{{ route('beritas.update', $berita->id) }}" method="POST" enctype="multipart/form-data">

                                @csrf

                                @method('PUT')

     

                                <div class="form-group">

                                    <label class="font-weight-bold">GAMBAR</label>

                                    <input type="file" class="form-control" name="gambar">

                                </div>

     

                                <div class="form-group">

                                    <label class="font-weight-bold">JUDUL</label>

                                    <input type="text" class="form-control @error('judul') is-invalid @enderror" name="judul" value="{{ old('judul', $berita->judul) }}" placeholder="Masukkan Judul Post">

                               

                                    <!-- error message untuk title -->

                                    @error('judul')

                                        <div class="alert alert-danger mt-2">

                                            {{ $message }}

                                        </div>

                                    @enderror

                                </div>

     

                                <div class="form-group">

                                    <label class="font-weight-bold">KONTEN</label>

                                    <textarea class="form-control @error('isi') is-invalid @enderror" name="isi" rows="5" placeholder="Masukkan Konten berita">{{ old('isi', $berita->isi) }}</textarea>

                               

                                    <!-- error message untuk content -->

                                    @error('isi')

                                        <div class="alert alert-danger mt-2">

                                            {{ $message }}

                                        </div>

                                    @enderror

                                </div>

     

                                <button type="submit" class="btn btn-md btn-primary">UPDATE</button>

                                <button type="reset" class="btn btn-md btn-warning">RESET</button>

     

                            </form>

                        </div>

                    </div>

                </div>

            </div>

        </div>

       

        <script src="http://localhost/bootstrap/jquery.min.js"></script>

        <script src="http://localhost/bootstrap/bootstrap.min.js"></script>

        <script src="https://cdn.ckeditor.com/4.13.1/standard/ckeditor.js"></script>

    <script>

        CKEDITOR.replace( 'isi' );

    </script>

    </body>

    </html>

     

    5.  Setelah membuat file edit.blade.php adalah melakukan ujia coba, jika di klik Edit maka akan ditampikan seperti berikut ini



    Post Top Ad

    Post Bottom Ad

    ad728