亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

正在回答

1 回答

Yii的默認配置為一個數據庫,不過可以很容易的支持多個數據庫的操作,

這為按業務分割數據庫提供了基礎設施。如下所示:

??//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函數,比如:

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

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

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


多數據庫配置遇到的一個典型的錯誤是:

Object?configuration?must?be?an?array?containing?a class element

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


0 回復 有任何疑惑可以回復我~
#1

qq_小寒 提問者

非常感謝!
2017-05-03 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Yii框架不得不說的故事—基礎篇(1)
  • 參與學習       42658    人
  • 解答問題       253    個

通過本視頻教程,為學習YII的快速、安全、專業的特性打下基礎

進入課程

yii配置多個數據庫

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號