婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Yii 框架使用數據庫(databases)的方法示例

Yii 框架使用數據庫(databases)的方法示例

熱門標簽:臨沂crm外呼系統平臺 梧州市機器人外呼系統怎么樣 廈門400電話辦理選易號網 地圖標注符號樣式有 電子地圖標注怎么修改 公司外呼系統中心 菏澤語音外呼系統運營商 天客通地圖標注 如何在世界地圖標注

本文實例講述了Yii 框架使用數據庫(databases)的方法。分享給大家供大家參考,具體如下:

配置數據庫連接 ¶

開始之前,請確保你已經安裝了 PHP PDO 擴展和你所使用的數據庫的 PDO 驅動(例如 MySQL 的 pdo_mysql)。 對于使用關系型數據庫來講,這是基本要求。

驅動和擴展安裝可用后,打開 config/db.php 修改里面的配置參數對應你的數據庫配置。 該文件默認包含這些內容:

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

config/db.php 是一個典型的基于文件的配置工具。 這個文件配置了數據庫連接 yii\db\Connection 的創建和初始化參數, 應用的 SQL 查詢正是基于這個數據庫。

上面配置的數據庫連接可以在應用中通過 Yii::$app->db 表達式訪問。

信息: config/db.php 將被包含在應用配置文件 config/web.php 中, 后者指定了整個應用如何初始化。 請參考配置章節了解更多信息。

如果想要使用 Yii 沒有捆綁支持的數據庫,你可以查看以下插件:

  • Informix
  • IBM DB2
  • Firebird

創建活動記錄

創建一個繼承自活動記錄類的類 Country, 把它放在 models/Country.php 文件,去代表和讀取 country 表的數據。

?php
 
namespace app\models;
 
use yii\db\ActiveRecord;
 
class Country extends ActiveRecord
{
}

這個 Country 類繼承自 yii\db\ActiveRecord。你不用在里面寫任何代碼。 只需要像現在這樣,Yii 就能根據類名去猜測對應的數據表名。

信息: 如果類名和數據表名不能直接對應, 可以覆寫 tableName() 方法去顯式指定相關表名。

使用 Country 類可以很容易地操作 country 表數據,就像這段代碼:

use app\models\Country;
 
// 獲取 country 表的所有行并以 name 排序
$countries = Country::find()->orderBy('name')->all();
 
// 獲取主鍵為 “US” 的行
$country = Country::findOne('US');
 
// 輸出 “United States”
echo $country->name;
 
// 修改 name 為 “U.S.A.” 并在數據庫中保存更改
$country->name = 'U.S.A.';
$country->save();

信息: 活動記錄是面向對象、功能強大的訪問和操作數據庫數據的方式。你可以在活動記錄章節了解更多信息。 除此之外你還可以使用另一種更原生的被稱做數據訪問對象的方法操作數據庫數據。

創建動作

為了向最終用戶顯示國家數據,你需要創建一個操作。相比之前小節掌握的在 site 控制器中創建操作, 在這里為所有和國家有關的數據新建一個控制器更加合理。 新控制器名為 CountryController,并在其中創建一個 index 操作, 如下:

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

把上面的代碼保存在 controllers/CountryController.php 文件中。

index 操作調用了活動記錄 Country::find() 方法,去生成查詢語句并從 country 表中取回所有數據。 為了限定每個請求所返回的國家數量,查詢在 yii\data\Pagination 對象的幫助下進行分頁。 Pagination 對象的使命主要有兩點:

  • 為 SQL 查詢語句設置 offsetlimit 從句, 確保每個請求只需返回一頁數據(本例中每頁是 5 行)。
  • 在視圖中顯示一個由頁碼列表組成的分頁器, 這點將在后面的段落中解釋。

在代碼末尾,index 操作渲染一個名為 index 的視圖, 并傳遞國家數據和分頁信息進去。

創建視圖 ¶

views 目錄下先創建一個名為 country 的子目錄。 這個目錄存儲所有由 country 控制器渲染的視圖。在 views/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]) ?>

這個視圖包含兩部分用以顯示國家數據。第一部分遍歷國家數據并以無序 HTML 列表渲染出來。 第二部分使用 yii\widgets\LinkPager 去渲染從操作中傳來的分頁信息。 小部件 LinkPager 顯示一個分頁按鈕的列表。 點擊任何一個按鈕都會跳轉到對應的分頁。

試運行

瀏覽器訪問下面的 URL 看看能否工作:

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

 

首先你會看到顯示著五個國家的列表頁面。在國家下面,你還會看到一個包含四個按鈕的分頁器。 如果你點擊按鈕 “2”,將會跳轉到顯示另外五個國家的頁面, 也就是第二頁記錄。如果觀察仔細點你還會看到瀏覽器的 URL 變成了:

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

在這個場景里,Pagination 提供了為數據結果集分頁的所有功能:

  • 首先 Pagination 把 SELECT 的子查詢 LIMIT 5 OFFSET 0 數據表示成第一頁。 因此開頭的五條數據會被取出并顯示。
  • 然后小部件 LinkPager 使用 Pagination::createUrl() 方法生成的 URL 去渲染翻頁按鈕。 URL 中包含必要的參數 page 才能查詢不同的頁面編號。
  • 如果你點擊按鈕 “2”,將會發起一個路由為 country/index 的新請求。 Pagination 接收到 URL 中 的 page 參數把當前的頁碼設為 2。 新的數據庫請求將會以 LIMIT 5 OFFSET 5 查詢并顯示

更多關于Yii相關內容感興趣的讀者可查看本站專題:《Yii框架入門及常用技巧總結》、《php優秀開發框架總結》、《smarty模板入門基礎教程》、《php面向對象程序設計入門教程》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

希望本文所述對大家基于Yii框架的PHP程序設計有所幫助。

您可能感興趣的文章:
  • yii的入口文件index.php中為什么會有這兩句
  • PHP的Yii框架中YiiBase入口類的擴展寫法示例
  • Yii入門教程之目錄結構、入口文件及路由設置
  • Yii 框架使用Gii生成代碼操作示例
  • Yii 框架使用Forms操作詳解
  • Yii 框架應用(Applications)操作實例詳解
  • Yii框架應用組件用法實例分析
  • Yii框架小部件(Widgets)用法實例詳解
  • Yii框架安裝簡明教程
  • Yii 框架入口腳本示例分析

標簽:黃石 雞西 白城 綿陽 郴州 瀘州 迪慶 貴陽

巨人網絡通訊聲明:本文標題《Yii 框架使用數據庫(databases)的方法示例》,本文關鍵詞  Yii,框架,使用,數據庫,databases,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Yii 框架使用數據庫(databases)的方法示例》相關的同類信息!
  • 本頁收集關于Yii 框架使用數據庫(databases)的方法示例的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美一激情一区二区三区| 成人免费看的视频| 亚洲特级片在线| 中文幕一区二区三区久久蜜桃| 日韩免费一区二区三区在线播放| 56国语精品自产拍在线观看| 欧美一卡2卡三卡4卡5免费| 欧美一区二区三区不卡| 337p粉嫩大胆色噜噜噜噜亚洲| 久久久久久一级片| 17c精品麻豆一区二区免费| 一区二区三区日本| 五月天亚洲精品| 国产麻豆精品一区二区| 成人国产精品视频| 欧美专区在线观看一区| 日韩三级精品电影久久久| 久久久久久久精| 亚洲人妖av一区二区| 午夜影视日本亚洲欧洲精品| 精品中文av资源站在线观看| 成人网在线播放| 欧美日韩精品电影| 久久亚洲春色中文字幕久久久| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 欧美日韩综合在线免费观看| 精品久久久久久综合日本欧美| 国产精品视频九色porn| 日日夜夜免费精品视频| 成人一区二区三区中文字幕| 欧美精品第1页| 中文字幕在线观看不卡视频| 免费人成在线不卡| 91亚洲资源网| 久久婷婷国产综合精品青草| 亚洲一区av在线| 国产成人啪免费观看软件| 欧美视频在线不卡| 国产精品久久久久久亚洲毛片| 全国精品久久少妇| 色婷婷综合久久久久中文一区二区| 精品粉嫩aⅴ一区二区三区四区| 亚洲精品视频在线观看免费| 国产精品主播直播| 欧美一区二区三区在线看| 综合久久一区二区三区| 国产美女娇喘av呻吟久久| 欧美丰满嫩嫩电影| 亚洲一区二区三区四区中文字幕| 国产成人鲁色资源国产91色综| 91精品免费在线| 午夜久久福利影院| 色婷婷av一区二区三区大白胸| 国产女人水真多18毛片18精品视频| 日本成人在线一区| 欧美群妇大交群中文字幕| 亚洲日本在线视频观看| kk眼镜猥琐国模调教系列一区二区| 精品欧美一区二区三区精品久久 | 精品中文av资源站在线观看| 欧美影视一区在线| 一区二区三区丝袜| 91碰在线视频| 亚洲欧美日韩系列| 91在线精品一区二区三区| 中文字幕巨乱亚洲| 岛国一区二区三区| 中文文精品字幕一区二区| 国产剧情av麻豆香蕉精品| 久久亚洲春色中文字幕久久久| 久久国内精品自在自线400部| 欧美成人在线直播| 久久99国产精品久久| 欧美精品一区二区三区在线 | 26uuu久久天堂性欧美| 国内精品视频666| 久久久国产精华| 成人h动漫精品| 亚洲狠狠丁香婷婷综合久久久| 在线视频国内自拍亚洲视频| 亚洲午夜激情av| 欧美一级高清片在线观看| 国内精品视频一区二区三区八戒| 久久蜜桃av一区二区天堂| 成人手机在线视频| 亚洲精品国产一区二区精华液| 欧美日韩一区二区在线观看| 久久国产精品无码网站| 欧美激情综合五月色丁香| 色94色欧美sute亚洲线路一久| 亚洲成av人片www| 精品日韩av一区二区| 成人久久视频在线观看| 亚洲资源在线观看| 欧美不卡一二三| eeuss影院一区二区三区| 亚洲成人资源网| 久久综合九色综合欧美亚洲| 色综合天天在线| 免费的成人av| ㊣最新国产の精品bt伙计久久| 欧美日韩一二三区| 国产乱子轮精品视频| 一区二区三区久久| 久久久99精品久久| 欧美日韩在线观看一区二区 | 99re热视频精品| 日本在线不卡视频| 国产精品久久久久aaaa| 678五月天丁香亚洲综合网| 国产成人av福利| 亚洲成人先锋电影| 国产精品理论片在线观看| 欧美一卡2卡3卡4卡| 色偷偷一区二区三区| 精品综合免费视频观看| 亚洲高清三级视频| 国产精品国产三级国产普通话三级 | 亚洲美女少妇撒尿| 久久久五月婷婷| 91精品国产色综合久久不卡电影| 成人精品小蝌蚪| 久久精品99久久久| 香蕉影视欧美成人| 亚洲一区二区欧美| 国产精品婷婷午夜在线观看| 久久久青草青青国产亚洲免观| 欧美剧在线免费观看网站| 欧美亚日韩国产aⅴ精品中极品| 成人综合日日夜夜| 国产麻豆精品theporn| 蜜臂av日日欢夜夜爽一区| 亚洲午夜一二三区视频| 亚洲欧美日韩国产中文在线| 中文字幕欧美日本乱码一线二线| 精品捆绑美女sm三区| 日韩三级免费观看| 日韩视频一区在线观看| 欧美一卡2卡三卡4卡5免费| 欧美电影一区二区| 欧美精品v日韩精品v韩国精品v| 欧美性做爰猛烈叫床潮| 欧美日韩综合色| 欧美日韩成人高清| 4438x亚洲最大成人网| 欧美浪妇xxxx高跟鞋交| 欧美肥妇bbw| 日韩欧美国产小视频| 精品国产免费人成在线观看| 久久午夜羞羞影院免费观看| 久久夜色精品国产欧美乱极品| 精品电影一区二区| 久久精品欧美一区二区三区不卡| 久久久精品国产99久久精品芒果| 精品va天堂亚洲国产| 国产欧美日韩三级| 中文字幕一区二区三区在线观看| 一色桃子久久精品亚洲| 亚洲综合色网站| 蜜臀久久99精品久久久久宅男| 韩国精品久久久| 成人午夜免费av| 欧美伊人久久久久久久久影院| 制服丝袜日韩国产| 久久久久久久电影| 亚洲男人的天堂在线观看| 五月婷婷久久丁香| 国产一区二区精品久久| 99re在线精品| 91精品久久久久久久久99蜜臂| 欧美大胆一级视频| 日韩理论片中文av| 日韩av不卡一区二区| 久久97超碰色| 一本大道av一区二区在线播放| 欧美丰满少妇xxxxx高潮对白| 久久久噜噜噜久久人人看 | 91久久久免费一区二区| 欧美日韩mp4| 国产精品久久久久久久久图文区 | 日韩精品一区二区三区蜜臀| 久久尤物电影视频在线观看| 亚洲美女一区二区三区| 国产乱国产乱300精品| 欧美日韩在线播| 国产欧美视频在线观看| 午夜伦理一区二区| 99国产欧美另类久久久精品| 日韩亚洲电影在线| 亚洲精品国产a| 国产剧情av麻豆香蕉精品| 欧美三级电影精品| 中文字幕综合网| 国产真实乱子伦精品视频| 日本高清成人免费播放| 国产欧美一区二区精品仙草咪 | 国产午夜精品久久久久久免费视| 一区二区三区欧美| 成人午夜在线视频| 精品国产一区二区三区不卡|