Yii框架實現(xiàn)多數(shù)據(jù)庫配置和操作的方法
本文實例講述了Yii框架實現(xiàn)多數(shù)據(jù)庫配置和操作的方法。分享給大家供大家參考,具體如下:
Yii的默認配置為一個數(shù)據(jù)庫,不過可以很容易的支持多個數(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; } ... }
如果有很多模型會使用db_member, 可以從CActiveRecord派生一個子類:CMemberActiveRecord, 把getDbConnection的重寫放在該AR的子類中。
然后模型都從該CMemberActiveRecord中派生。
多數(shù)據(jù)庫配置遇到的一個典型的錯誤是:
Object configuration must be an array containing a class element
原因是配置中非$db的其他數(shù)據(jù)庫沒有設(shè)置class屬性,添加該屬性并設(shè)置其值為CDbConnection即可。
參考鏈接:
http://yiihaa.com/models-and-multiple-database-connections
更多關(guān)于Yii相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Yii框架入門及常用技巧總結(jié)》、《php優(yōu)秀開發(fā)框架總結(jié)》、《smarty模板入門基礎(chǔ)教程》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家基于Yii框架的PHP程序設(shè)計有所幫助。
- Yii實現(xiàn)多數(shù)據(jù)庫主從讀寫分離的方法
- Yii實現(xiàn)MySQL多數(shù)據(jù)庫和讀寫分離實例分析
- yii2.0數(shù)據(jù)庫遷移教程【多個數(shù)據(jù)庫同時同步數(shù)據(jù)】
- Yii操作數(shù)據(jù)庫的3種方法
- 解析yii數(shù)據(jù)庫的增刪查改
- Yii2.0高級框架數(shù)據(jù)庫增刪改查的一些操作
- Yii2框架數(shù)據(jù)庫簡單的增刪改查語法小結(jié)
- YII2數(shù)據(jù)庫查詢實踐
- yii數(shù)據(jù)庫的查詢方法
- Yii框架連接mongodb數(shù)據(jù)庫的代碼
相關(guān)文章
php實現(xiàn)微信企業(yè)轉(zhuǎn)賬功能
這篇文章主要為大家詳細介紹了php實現(xiàn)微信企業(yè)轉(zhuǎn)賬功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-10-10thinkphp3.2.2前后臺公用類架構(gòu)問題分析
這篇文章主要介紹了thinkphp3.2.2前后臺公用類架構(gòu)問題,以實例形式較為詳細的分析了前后臺公用類的簡單調(diào)用方法,非常具有實用價值,需要的朋友可以參考下2014-11-11PHP Ajax JavaScript Json獲取天氣信息實現(xiàn)代碼
這篇文章主要介紹了PHP Ajax JavaScript Json實現(xiàn)天氣信息獲取 的相關(guān)資料,感興趣的小伙伴們可以參考一下2016-08-08php去除數(shù)組中重復(fù)數(shù)據(jù)
去除數(shù)組中的重復(fù)數(shù)據(jù),又叫排重,本文給出的函數(shù)和php原生array_unique的區(qū)別在于array_unique要求是字符串,而本函數(shù)可以是數(shù)組和對象2014-11-11解決laravel 5.1報錯:No supported encrypter found的辦法
這篇文章主要給大家介紹了關(guān)于解決laravel 5.1報錯:No supported encrypter found的相關(guān)資料,文中介紹的非常詳細,對大家具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考借鑒,下面來一起看看吧。2017-06-06