Yii2 使用三 使用数据库

来源:互联网 发布:js基础数据类型 编辑:程序博客网 时间:2024/06/10 09:40

一、新建Mysql数据库test,建立表:

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中的数据库连接字符串

三、新建models/Country.php:

<?phpnamespace app\models;use yii\db\ActiveRecord;class Country extends ActiveRecord{}
新建controllers/CountryController.php:

<?phpnamespace 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,        ]);    }}
新建视图 views/country/index.php

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

测试:http://test.com/index.php?r=country/index

查看结果并测试分页效果。

0 0
原创粉丝点击