Melanjutkan yang kemarin saya akan membuat bekerja dengan database dengan Yii 2. Sebelum anda membuat ini anda harus menyiapkan Yii 2,Tapi anda harus mendownload Yii 2 yang basic bukan advanced. sekarang yang pertama kita masuk untuk membuat databasenya.

Kalian membuat database bernama yii2basic, dan ini adalah querynya

CREATE TABLE `country` (
  `code` CHAR(2) NOT NULL PRIMARY KEY,
  `name` CHAR(52) NOT NULL,
  `population` INT(11) NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `country` VALUES ('AU','Australia',18886000);
INSERT INTO `country` VALUES ('BR','Brazil',170115000);
INSERT INTO `country` VALUES ('CA','Canada',1147000);
INSERT INTO `country` VALUES ('CN','China',1277558000);
INSERT INTO `country` VALUES ('DE','Germany',82164700);
INSERT INTO `country` VALUES ('FR','France',59225700);
INSERT INTO `country` VALUES ('GB','United Kingdom',59623400);
INSERT INTO `country` VALUES ('IN','India',1013662000);
INSERT INTO `country` VALUES ('RU','Russia',146934000);
INSERT INTO `country` VALUES ('US','United States',278357000);


Kalian bisa copy sqlnya dan masukan querynya di sqlnya.seperti ini :


Dan setelah anda masukan querynya ke sql klik Go.Setelah database sudah di buat sekarang kita lanjut dengan menyamakan nama databesnya.

Buka folder basic dan kalian buka config/db.php pastikan nama databasenya sama yang kalian buat tadi,contohnya seperti ini :


Selanjutnya kita membuat membuat kodenya,kalian buka folder models dan buat file baru namanya Country.php jika sudah masukan kodenya kedalam file tersebut dan ini kodenya :



<?php
namespace app\models;

use yii\db\ActiveRecord;

class Country extends ActiveRecord{
}



Jika sudah save,selanjutnya kita masuk ke folder controllers dan buat file baru namanya CountryController.php dan masukan kodenya seperti ini :


<?php
namespace app\controllers;

use yii\web\Controller;
use yii\data\Pagination;
use app\models\Country;

class CountryController extends Controller{
    public function actionIndex()
    {
        $query Country::find();

        $pagination = new Pagination([
            'defaultPageSize' => 5,
            'totalCount' => $query->count(),
        ]);

        $countries $query->orderBy('name')
            ->offset($pagination->offset)
            ->limit($pagination->limit)
            ->all();

        return $this->render('index', [
            'countries' => $countries,
            'pagination' => $pagination,
        ]);
    }
}



Masukan kodenya seperti itu didalam CountryController gambarnya seperti ini :


Dan sekarang membuat viewnya kalian buka views dan kalian buat folder baru namanya country dan buat file namanya index.php jika sudah masukan kodenya seperti ini :

<?phpuse yii\helpers\Html;
use yii\widgets\LinkPager;?><h1>Countries</h1>
<ul>
<?php foreach ($countries as $country): ?>    <li>
        <?= Html::encode("{$country->name} ({$country->code})"?>:
        <?= $country->population ?>    </li>
<?php endforeach; ?></ul>

<?= LinkPager::widget(['pagination' => $pagination]) ?>



Jika sudah memasukan kodenya jangan lupa di save.

Dan sekarang tahap terakhir kalian buka halamannya dengan kode ini  :

http://localhost/basic/web/index.php?r=country%2Findex&page=2

Jika sudah membuka halamanya dengan kode itu nanti akan muncul halamanya seperti ini :


Kita sudah selesai membuat bekerja dengan database dan jangan lupa mencobanya trus tapi jangan cuma asal copy scripctnya tapi harus paham dan tau alur pembuatnya.Tunggu selanjutnya tutorial-tutorial saya.Semoga bermanfaat bagi kalian terima kasih