作者:潮人_徐达妈 | 来源:互联网 | 2013-06-09 10:28
就拿本站为例,我们配置一个主数据库连接到mysql进行信息管理,同时我们配置另一个sqlite提供给插件使用
首先我们配置config/main.php,在components加入以下配置
1.mysql
1
2
3
4
5
6
7
|
'db'=>array(
'connectionString'=>'mysql:host=127.0.0.1;dbname=dbname',
'emulatePrepare'=> true,
'username'=>'root',
'password'=>'123456',
'charset'=>'utf8',
),
|
这样我们就连接好了一个数据库,可以通过 Yii::app()->db仿问到这个数据库的实例
2.sqlite
1
2
3
4
|
'db2'=>array(
'class'=>'CDbConnection',
'connectionString'=>'sqlite:'.dirname(__FILE__).'/../data/yii.db',
),
|
这样我们就可以通过Yii::app()->db2调用这个实例
3.下面来讲讲如何配置model,进行db的切换,由于Yii默认调用db,所以下面我们讲解db2的调用方法
在model设置以下属性
1
|
protected$dbString='db2';
|
添加以下方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
publicfunctiongetDbConnection()
{
if(self::$db!==null)
returnself::$db;
else
{
$dbString=$this->dbString;
self::$db=Yii::app()->$dbString;
if(self::$dbinstanceofCDbConnection)
{
self::$db->setActive(true);
returnself::$db;
}
else
thrownewCDbException(Yii::t('yii','...'));
}
}
|
这样,模型就配置好了,会调用db2的实例
done!
原创内容,转载请注明出处!