Hampir semua aplikasi membutuhkan database. Database merupakan tempat menyimpan data-data yang akan digunakan oleh aplikasi yang kita buat. Kali ini kita akan membuat program sederhana menggunakan database pada framework Yii 2.
Berikut contoh langkah-langkah melakukan programming database menggunakan framework Yii 2 :
- Memasukkan informasi koneksi
Untuk memasukkan informasi koneksi ke database silahkan mengedit file /config/db.php misalnya seperti berikut ini:return [
‘class’ => ‘yii\db\Connection’,
‘dsn’ => ‘mysql:host=localhost;dbname=nama_db’,
‘username’ => ‘nama_user’,
‘password’ => ‘passwordnya’,
‘charset’ => ‘utf8’,
]; - Misal kita telah membuat tabel coa seperti gambar di bawah ini:
- Membuat model Coa
Kita membuat class models/Coa.php dengan isi misalnya :<?php
namespace app\models;
use yii\db\ActiveRecord;
class Coa extends ActiveRecord
{
}
?> - Membuat controller CoaController.
Kita membuat class controllers/CoaController.php dengan isi misalnya:<?php
namespace app\controllers;
use yii\web\Controller;
use yii\data\Pagination;
use app\models\Coa;
class CoaController extends Controller
{
public function actionIndex()
{
$query = Coa::find();
$pagination = new Pagination([
‘defaultPageSize’ => 5,
‘totalCount’ => $query->count(),
]);$coas = $query->orderBy(‘coa_name’)
->offset($pagination->offset)
->limit($pagination->limit)
->all();return $this->render(‘index’, [
‘coas’ => $coas,
‘pagination’ => $pagination,
]);
}
}
?> - Membuat view.
Viewnya ada pada folder views/coa
Kita membuat file views/coa/index.php dengan isi misalnya<?php
use yii\helpers\Html;
use yii\widgets\LinkPager;
?>
<h1>Coas</h1>
<ul>
<?php foreach ($coas as $coa): ?>
<li>
<?= Html::encode(“{$coa->coa_name} ({$coa->coa_code})”) ?>:
<?= $country->population ?>
</li>
<?php endforeach; ?>
</ul>
<?= LinkPager::widget([‘pagination’ => $pagination]) ?> - Tampilan bisa kita lihat seperti gambar berikut ini
Informasi lebih lanjut silahkan mengunjungi http://www.yiiframework.com/doc-2.0/guide-start-databases.html .
Kunjungi www.proweb.co.id untuk menambah wawasan anda.