Heim > php教程 > PHP开发 > Yii2.0 verwendet eine Datenbank

Yii2.0 verwendet eine Datenbank

伊谢尔伦
Freigeben: 2016-11-25 14:34:02
Original
1079 Leute haben es durchsucht

Bereiten Sie die Datenbank vor:

Erstellen Sie eine neue Datenbank yii2basic und erstellen Sie dann eine Tabelle darin:

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);
Nach dem Login kopieren

Konfigurieren Sie die Datenbankverbindung:

In config/ db. In PHP:

<?php
return [
    &#39;class&#39; => &#39;yii\db\Connection&#39;,
    &#39;dsn&#39; => &#39;mysql:host=localhost;dbname=yii2basic&#39;,
    &#39;username&#39; => &#39;root&#39;,
    &#39;password&#39; => &#39;&#39;,
    &#39;charset&#39; => &#39;utf8&#39;,
];
Nach dem Login kopieren

Erstellen Sie einen ActiveRecord:

models/Country.php:

<?php
    namespace app\models;
    use yii\db\ActiveRecord;
    class Country extends ActiveRecord
    {
    }
Nach dem Login kopieren

Erstellen Sie eine Aktion:

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([
                &#39;defaultPageSize&#39; => 5,
                &#39;totalCount&#39; => $query->count(),
            ]);
        $countries = $query->orderBy(&#39;name&#39;)
            ->offset($pagination->offset)
            ->limit($pagination->limit)
            ->all();
        return $this->render(&#39;index&#39;, [
            &#39;countries&#39; => $countries,
            &#39;pagination&#39; => $pagination,
        ]);
    }
}
Nach dem Login kopieren

Ansicht erstellen

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([&#39;pagination&#39; => $pagination]) ?>
Nach dem Login kopieren

Probieren Sie es aus:

http://hostname/index.php?r=country/index
Nach dem Login kopieren

Yii2.0 verwendet eine Datenbank


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage