• Artikel Terbaru

    MODUL MEMBUAT PROGRAM DENGAN LARAVEL 10 Part 3 – MENAMPILKAN DATA DARI DATABASE

     


    Pada modul ini adalah menampilkan data dari database ke laravel. Dan untuk menampilkannya/user interface yang kita pakai adalah Bootstrap, sehingga tampilannya bisa lebih bagus dan cepat dibandingkan kita harus buat dari awal.

    1.  Membuat Controller Berita, caranya adalah ketikan di terminal/CMD perintah berikut ini

    php artisan make:controller BeritaController , Jika berhasil maka akan seperti berikut ini


    2. Pada file BeritaController.php di baris ke 4, tambahkan kode berikut ini

    use App\Models\Berita;

    use Illuminate\View\View; 

    3.  Pada file BeritaController.php di baris ke 9, tambahkan kode berikut ini

    public function index(): View

        {

            //get beritas

            $beritas  = Berita::latest()->paginate(5);

     

            //render view with beritas

            return view('beritas.index', compact('beritas'));

        }

    4.  Sehingga kode lengkapnya di BeritaController.php adalah seperti berikut ini



    5.Setelah membuat file controller, langkah selanjutnya adalah       
    membuat Route Berita caranya adalah silahkan buka file routes/web.php

    Ganti semua kodenya berikut ini

    <?php
     
    use Illuminate\Support\Facades\Route;
     
    //route resource
    Route::resource('/beritas', \App\Http\Controllers\BeritaController::class);


       6.  Untuk memastikan apakah route berhasil dibuat atau tidak, kita cek dengan cara jalankan perintah berikut ini di terminal/CMD 

        php artisan route:list

        7. ika sudah membuat route, langkah selanjutnya Adalah membuat View, dengan cara membuat folder baru di folder resources/views dengan diberi nama beritas

        8.Di folder beritas Buat file baru dengan nama index.blade.php

    9.  Isi kode index.blade.php seperti berikut ini

    <!DOCTYPE html>

    <html lang="en">

    <head>

        <title>Data Beritas - RPL</title>

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

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

    </head>

    <body style="background: lightgray">

     

        <div class="container mt-5">

            <div class="row">

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

                    <div>

                        <h3 class="text-center my-4">Tutorial Laravel 10 untuk RPL</h3>

                        <h5 class="text-center"><a href="">RPL - Saypro</a></h5>        

                        <hr>

                    </div>

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

                        <div class="card-body">

                            <a href="{{ route('beritas.create') }}" class="btn btn-md btn-success mb-3">TAMBAH BERITA</a>

                            <table class="table table-bordered">

                                <thead>

                                  <tr>

                                    <th scope="col">GAMBAR</th>

                                    <th scope="col">JUDUL</th>

                                    <th scope="col">ISI</th>

                                    <th scope="col">AKSI</th>

                                  </tr>

                                </thead>

                                <tbody>

                                  @forelse ($beritas as $berita)

                                    <tr>

                                        <td class="text-center">

                                            <img src="{{ asset('/storage/beritas/'.$berita->gambar) }}" class="rounded" style="width: 150px">

                                        </td>

                                        <td>{{ $berita->judul }}</td>

                                        <td>{!! $berita->isi !!}</td>

                                        <td class="text-center">

                                            <form onsubmit="return confirm('Apakah Anda Yakin ?');" action="{{ route('beritas.destroy', $berita->id) }}" method="POST">

                                                <a href="{{ route('beritas.show', $berita->id) }}" class="btn btn-sm btn-dark">SHOW</a>

                                                <a href="{{ route('beritas.edit', $berita->id) }}" class="btn btn-sm btn-primary">EDIT</a>

                                                @csrf

                                                @method('DELETE')

                                                <button type="submit" class="btn btn-sm btn-danger">HAPUS</button>

                                            </form>

                                        </td>

                                    </tr>

                                  @empty

                                      <div class="alert alert-danger">

                                          Data berita belum Tersedia.

                                      </div>

                                  @endforelse

                                </tbody>

                              </table>  

                              {{ $beritas->links() }}

                        </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="http://localhost/bootstrap/toastr.min.js"></script>

     

        <script>

            //message with toastr

            @if(session()->has('success'))

           

                toastr.success('{{ session('success') }}', 'BERHASIL!');

     

            @elseif(session()->has('error'))

     

                toastr.error('{{ session('error') }}', 'GAGAL!');

               

            @endif

        </script>

    </body>

    </html>

    10.Setelah membuat file index.blade.php, selanjutnya adalah uji coba menjalankan hasilnya dengan cara meng akses http://localhost:8000/beritas , dengan hasilnya seperti berikut ini





    Post Top Ad

    Post Bottom Ad

    ad728