就拿本站为例,我们配置一个主 数据库 连接到mysql进行信息管理,同时我们配置另一个sqlite提供给插件使用
首先我们配置config/main.php,在components加入以下配置
1.mysql
'db'=>array( 'connectionString' => 'mysql:host=127.0.0.1;dbname=dbname', 'emulatePrepare' => true, 'username' => 'root', 'password' => '123456', 'charset' => 'utf8', ),
这样我们就连接好了一个数据库,可以通过 Yii::app()->db仿问到这个数据库的实例
2.sqlite
'db2'=>array( 'class'=>'CDbConnection', 'connectionString' => 'sqlite:'.dirname(__FILE__).'/data/yii.db', ),
这样我们就可以通过Yii::app()->db2调用这个实例
3.下面来讲讲如何配置model,进行db的切换,由于Yii默认调用db,所以下面我们讲解db2的调用方法
在model设置以下属性
protected $dbString='db2';
添加以下方法
public function getDbConnection() { if(self::$db!==null) return self::$db; else { $dbString=$this->dbString; self::$db=Yii::app()->$dbString; if(self::$db instanceof CDbConnection) { self::$db->setActive(true); return self::$db; } else throw new CDbException(Yii::t('yii','...')); } }
这样,模型就配置好了,会调用db2的实例
查看更多关于Yii 多数据库配置详解与CActiveRecord调用的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did8234