Yii2.0教程入门篇 —— 使用数据库

2015-01-27 0 999

准备好数据库

新建一个数据库yii2basic,然后在其中创建一张表:

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);

配置数据库连接:

在config/db.php中:

<?php

return [
    \'class\' => \'yii\\db\\Connection\',
    \'dsn\' => \'mysql:host=localhost;dbname=yii2basic\',
    \'username\' => \'root\',
    \'password\' => \'\',
    \'charset\' => \'utf8\',
];

创建一个ActiveRecord

models/Country.php:

<?php

    namespace app\\models;

    use yii\\db\\ActiveRecord;

    class Country extends ActiveRecord
    {
    }

创建一个Action:

controllers/CountryController.php:

<?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,
        ]);
    }
}

创建视图

view/country/index.php:

<?php
    use 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]) ?>

试试吧:

http://hostname/index.php?r=country/index

Yii2.0教程入门篇 —— 使用数据库

遇见资源网 数据库 Yii2.0教程入门篇 —— 使用数据库 http://www.ox520.com/30847.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务