Models berfungsi untuk memanajemen data dari aplikasi dan membantu dalam melaksanakan business rules khusus yang aplikasi butuhkan.
Untuk melanjutkan materi pada sebelumnya, silahkan buat sebuah controller dengan nama Buku.php, isinya sebagai berikut :
<?php
namespace App\Controllers;
class Buku extends BaseController
{
public function index()
{
$data = [
'title' => 'Daftar Buku'
];
echo view('template/header', $data);
return view('buku/index', $data);
echo view('template/footer');
}
}
Setelah itu tambahkan folder buku pada View, didalam folder buku tambahkan file index.php yang isinya sebagai berikut :
<div class="container">
<div class="row">
<div class="col">
<h1>Data Buku</h1>
<table class="table">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">Cover</th>
<th scope="col">Judul</th>
<th scope="col">Penulis</th>
<th scope="col">Penerbit</th>
<th scope="col">Aksi</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td><img src="/img/web.jpg" alt="" width="100"></td>
<td>Pengantar Pemrograman Web</td>
<td>Abdul Rahman</td>
<td>Madza Media</td>
<td>
<a href="" class="btn btn-success">Detail</a>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
Hasilnya adalah sebagai berikut ini :
Agar terliat lebih rapi sekarang kita akan menambahkan sebuah style.css dengan cara membuat sebuah folder dengan nama css pada folder public, lalu simpan file css. Kode nya sebagai berikut :
.sampul {
width: 70px;
}
/* tanda (*) menunjukan bahwa apapun yang ada didalam .table > tbody > tr > */
.table > tbody > tr > * {
vertical-align: middle;
}
Lalu sambungkan file css pada file header.php, latakkan sebelum title. Kode nya seperti dibawah ini :
<link rel="stylesheet" href="/css/style.css">
Maka hasilnya akan menjadi seperti gambar dibawah :
Selanjutnya kita akan membuat sebuah database dengan nama belajarci4, dengan cara ketikan pada browser localhost/phpmyadmin kemudian mebuat sebuah table dengan nama buku, isi datanya sebagai berikut :
Setelah selesai silahkan tambahkan 2 data seperti gambar dibawah :
Setelah itu kita ubah koneksi database pada file .env samakan seperti gambar dibawah :
Selanjutnya kita akan membuat Model untuk merepresentasikan table buku pada database yang kita miliki. Cranya yaitu membuat file BukuModel.php pada folder Model. Isi kodenya sebaga berikut :
<?php
namespace App\Controllers;
use App\Models\BukuModel;
class Buku extends BaseController
{
protected $BukuModel;
public function __construct()
{
$this->BukuModel = new BukuModel();
}
public function index()
{
$buku = $this->BukuModel->findAll();
$data = [
'title' => 'Daftar Buku',
'buku' => $buku
];
echo view('template/header', $data);
return view('buku/index', $data);
echo view('template/footer');
}
}
Dan hasilnya seperti gambar dibawah :