Yii框架實(shí)現(xiàn)多數(shù)據(jù)庫(kù)配置和操作的方法
本文實(shí)例講述了Yii框架實(shí)現(xiàn)多數(shù)據(jù)庫(kù)配置和操作的方法。分享給大家供大家參考,具體如下:
Yii的默認(rèn)配置為一個(gè)數(shù)據(jù)庫(kù),不過可以很容易的支持多個(gè)數(shù)據(jù)庫(kù)的操作,
這為按業(yè)務(wù)分割數(shù)據(jù)庫(kù)提供了基礎(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ù)庫(kù)配置遇到的一個(gè)典型的錯(cuò)誤是:
Object configuration must be an array containing a class element
原因是配置中非$db的其他數(shù)據(jù)庫(kù)沒有設(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è)計(jì)入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家基于Yii框架的PHP程序設(shè)計(jì)有所幫助。
- Yii實(shí)現(xiàn)多數(shù)據(jù)庫(kù)主從讀寫分離的方法
- Yii實(shí)現(xiàn)MySQL多數(shù)據(jù)庫(kù)和讀寫分離實(shí)例分析
- yii2.0數(shù)據(jù)庫(kù)遷移教程【多個(gè)數(shù)據(jù)庫(kù)同時(shí)同步數(shù)據(jù)】
- Yii操作數(shù)據(jù)庫(kù)的3種方法
- 解析yii數(shù)據(jù)庫(kù)的增刪查改
- Yii2.0高級(jí)框架數(shù)據(jù)庫(kù)增刪改查的一些操作
- Yii2框架數(shù)據(jù)庫(kù)簡(jiǎn)單的增刪改查語法小結(jié)
- YII2數(shù)據(jù)庫(kù)查詢實(shí)踐
- yii數(shù)據(jù)庫(kù)的查詢方法
- Yii框架連接mongodb數(shù)據(jù)庫(kù)的代碼
相關(guān)文章
PHP程序員簡(jiǎn)單的開展服務(wù)治理架構(gòu)操作詳解(三)
這篇文章主要介紹了PHP程序員簡(jiǎn)單的開展服務(wù)治理架構(gòu)操作,總結(jié)分析了PHP開展服務(wù)治理架構(gòu)SOA服務(wù)相關(guān)概念、原理與操作注意事項(xiàng),需要的朋友可以參考下2020-05-05
在thinkphp5.0路徑中實(shí)現(xiàn)去除index.php的方式
今天小編就為大家分享一篇在thinkphp5.0路徑中實(shí)現(xiàn)去除index.php的方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-10-10
laravel框架學(xué)習(xí)筆記之組件化開發(fā)實(shí)現(xiàn)方法
這篇文章主要介紹了laravel框架學(xué)習(xí)筆記之組件化開發(fā)實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了laravel框架組件化開發(fā)相關(guān)的實(shí)現(xiàn)步驟與操作注意事項(xiàng),需要的朋友可以參考下2020-02-02
YII2框架中操作數(shù)據(jù)庫(kù)的方式實(shí)例分析
這篇文章主要介紹了YII2框架中操作數(shù)據(jù)庫(kù)的方式,結(jié)合實(shí)例形式總結(jié)分析了YII2使用createCommand方式及AR(Active Record)方式操作數(shù)據(jù)庫(kù)相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2020-03-03
php防止sql注入示例分析和幾種常見攻擊正則表達(dá)式
這篇文章主要介紹了php防止sql注入漏洞代碼和分析,最近提供了幾種常見攻擊的正則表達(dá)式,大家參考使用吧2014-01-01
使用PHP Socket 編程模擬Http post和get請(qǐng)求
這篇文章主要介紹了使用PHP Socket 編程模擬Http post和get請(qǐng)求 ,需要的朋友可以參考下2014-11-11
PHP+shell腳本操作Memcached和Apache Status的實(shí)例分享
這篇文章主要介紹了PHP環(huán)境下使用shell腳本操作Memcached和Apache Status的方法,分別還可以控制Memcached進(jìn)程的啟動(dòng)以及記錄Apache Status數(shù)據(jù)到數(shù)據(jù)庫(kù),需要的朋友可以參考下2016-03-03
PHP與Java進(jìn)行通信的實(shí)現(xiàn)方法
這篇文章主要介紹了php與java通信的實(shí)現(xiàn)方法,需要的朋友可以參考下2013-10-10

