Laravel / Pemrograman Web Lanjut · July 23, 2022

Menampilkan Data Pada Laravel #belajarlaravel-8

image_pdf

Setelah mempelajari controller dan model, kali ini kita akan mencoba menampilkan data yang ada pada database. Pertama silahkan tambahkan 1 data pada tabel buku pada database :

Insert data manual pada MySql Workbench

Selanjutnya pada Controller Buku kita akan menampilkan halaman views buku dan isinya adalah Model buku yang sudah di hubungkan dengan tabel buku pada database :

<?php

namespace App\Http\Controllers;

use App\Models\Buku;
use Illuminate\Http\Request;

class BukuController extends Controller
{
    public function index()
    {
        return view('buku', [
            "title" => "Buku",
            //Buku::all() disini digunakan untuk menampilkan semua data pada Model Buku
            "buku" => Buku::all()
        ]);
    }
}

Kemudian pada file buku.blade.php tambahkan sebuah tabel untuk menampilkan data yang ada pada database, dan lakukan perulangan pada isi tabel nya dengan menggunakan foreach :

@extends('layouts.main')

@section('container')
<h1>Halaman Detail Buku</h1>
<a href="buku/create"class="btn btn-primary">Tambah Data</a>
<table class="table caption-top">
    <thead>
    <tr>
        <th>No</th>
        <th>Judul Buku</th>
        <th>Penulis Buku</th>
        <th>Penerbit Buku</th>
        <th>Tahun Terbit</th>
        <th>Aksi</th>
    </tr>
    </thead>
    
    @foreach ($buku as $b)   
    <tr>
        <td>{{ $b->id }}</td>
        <td>{{ $b->judul }}</td>
        <td>{{ $b->penulis }}</td>
        <td>{{ $b->penerbit }}</td>
        <td>{{ $b->tahun_terbit }}</td>
        <td>
            <a href="#"class="btn btn-warning">Edit</a>
            <a href="#"class="btn btn-danger">Hapus</a>
        </td>
    </tr>
    
    @endforeach
</table>
@endsection

Kemudian Buat code web.php sebagai berikut:

<?php

use App\Http\Controllers\BukuController;
use Illuminate\Support\Facades\Route;

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

Route::get('/', function () {
    return view('home', [
        "title" => "Home"
    ]);
});

Route::get('/about', function () {
    return view('about', [
        "title" => "About"
    ]);
});

// Route::get('/buku', function () {
//     return view('buku/index', [
//         "title" => "Buku"
//     ]);
// });


Route::get('/buku', [BukuController::class, 'index']);

Dan hasilnya adalah sebagai berikut :

Tampilan halaman buku.blade.php