怎么在Yii框架中配置多數(shù)據(jù)庫-創(chuàng)新互聯(lián)

本篇文章為大家展示了怎么在Yii框架中配置多數(shù)據(jù)庫,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

赤峰ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!

Yii的默認(rèn)配置為一個(gè)數(shù)據(jù)庫,不過可以很容易的支持多個(gè)數(shù)據(jù)庫的操作,


這為按業(yè)務(wù)分割數(shù)據(jù)庫提供了基礎(chǔ)設(shè)施。如下所示:

//cms DB connection
'db' => (defined('DB_CONNECTION') ? array(
  'connectionString' => DB_CONNECTION,
  'username' => DB_USER,
  'password' => DB_PWD,
  'charset' => 'utf8',
  'emulatePrepare' => true,
  'enableParamLogging' => true,
  'schemaCachingDuration' => 3600, //cache table schema
    ) : array()),
//member DB connection
'db_member' => (defined('DB_CONNECTION_MEMBER') ? array(
  'class'=> 'CDbConnection' ,
  'connectionString' => DB_CONNECTION_MEMBER,
  'username' => DB_USER_MEMBER,
  'password' => DB_PWD_MEMBER,
  'charset' => 'utf8',
  'emulatePrepare' => true,
  'enableParamLogging' => true,
  'schemaCachingDuration' => 3600, //cache table schema
    ) : array()),

然后在模型中重載getDbConnection函數(shù),比如:

class Point extends CActiveRecord {
  public function getDbConnection() {
     return Yii::app()->db_member;
  }
  ...
}

如果有很多模型會(huì)使用db_member, 可以從CActiveRecord派生一個(gè)子類:CMemberActiveRecord, 把getDbConnection的重寫放在該AR的子類中。

然后模型都從該CMemberActiveRecord中派生。

多數(shù)據(jù)庫配置遇到的一個(gè)典型的錯(cuò)誤是:

Object configuration must be an array containing a class element

原因是配置中非$db的其他數(shù)據(jù)庫沒有設(shè)置class屬性,添加該屬性并設(shè)置其值為CDbConnection即可。

上述內(nèi)容就是怎么在Yii框架中配置多數(shù)據(jù)庫,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)頁名稱:怎么在Yii框架中配置多數(shù)據(jù)庫-創(chuàng)新互聯(lián)
文章URL:http://muchs.cn/article32/ddoesc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、虛擬主機(jī)品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站收錄、App開發(fā)、響應(yīng)式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)