• Artikel Terbaru

    MODUL MEMBUAT PROGRAM DENGAN LARAVEL 10 Part 4 – INSERT DATA KE DATABASE

     


    Pada modul ini, akan di jelaskan bagaimana cara menambahkan data ke dalam database, untuk menambahkan data ke database, kita harus membuat 2 method yaitu

    1.  Function create – method ini digunakan untuk menampilkan form tambah data
    2.  Function store – method ini digunakan unutk memproses data ke dalam database dan juga melakukan upload gambar

    1.  Untuk membuat method di atas, silahkan buka file app/Http/Controller/BeritaController.php , kemudian tambahkan kodenya seperti berikut ini

    è use Illuminate\Http\RedirectResponse;

    è public function create(): View

        {

            return view('beritas.create');

        }

    è public function store(Request $request): RedirectResponse

        {

            //validate form

            $this->validate($request, [

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

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

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

            ]);

     

            //upload gambar

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

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

     

            //create post

            Berita::create([

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

                'judul'     => $request->judul,

                'isi'   => $request->isi

            ]);

     

            //redirect to index

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

        }


    Dengan ketentuan seperti berikut ini



    Jika sudah benar hasil kodenya seperti berikut ini

    <?php
     
    namespace App\Http\Controllers;
    use App\Models\Berita;
    use Illuminate\View\View;
    use Illuminate\Http\Request;
     
    use Illuminate\Http\RedirectResponse;
     
    class BeritaController extends Controller
    {
        public function index(): View
        {
            //get beritas
            $beritas  = Berita::latest()->paginate(5);
     
            //render view with beritas
            return view('beritas.index', compact('beritas'));
        }
     
        public function create(): View
        {
            return view('beritas.create');
        }
        public function store(Request $request): RedirectResponse
        {
            //validate form
            $this->validate($request, [
                'gambar'     => 'required|image|mimes:jpeg,jpg,png|max:2048',
                'judul'     => 'required|min:5',
                'isi'   => 'required|min:10'
            ]);
     
            //upload gambar
            $gambar = $request->file('gambar');
            $gambar->storeAs('public/beritas', $gambar->hashName());
     
            //create post
            Berita::create([
                'gambar'     => $gambar->hashName(),
                'judul'     => $request->judul,
                'isi'   => $request->isi
            ]);
     
            //redirect to index
            return redirect()->route('beritas.index')->with(['success' => 'Data Berhasil Disimpan!']);
        }
     
    }


    2.  jika sudah menambahkan kode di atas, langkah selanjutnya adalah membuat file baru di folder beritas dengan nama file create.blade.php dengan kode nya seperti 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.store') }}" method="POST" enctype="multipart/form-data">

                           

                                @csrf

     

                                <div class="form-group">

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

                                    <input type="file" class="form-control @error('gambar') is-invalid @enderror" name="gambar">

                               

                                    <!-- error message untuk title -->

                                    @error('gambar')

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

                                            {{ $message }}

                                        </div>

                                    @enderror

                                </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') }}" placeholder="Masukkan Judul berita">

                               

                                    <!-- 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('content') }}</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">SIMPAN</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>


    3.     3. Jika sudah selesai, coba jalankan dengan cara akses http://localhost:8000/beritas kemudian klik TAMBAH BERITA , maka akan di tampilkan form tambah berita seperti berikut ini

     
    4.  Silahkan coba isi dan jika berhasil makan akan muncul pesan seperti berikut ini



     

     

     

     

     

     


    Post Top Ad

    Post Bottom Ad

    ad728