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 :
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 :