网站地图    收藏   

主页 > 后端 > php资料库 >

Yii 多数据库配置详解与CActiveRecord调用_自学php网

来源:自学PHP网    时间:2014-12-04 22:12 作者: 阅读:

[导读] 就拿本站为例,我们配置一个主数据库连接到mysql进行信息管理,同时我们配置另一个sqlite提供给插件使用 首先我们配置config/main.php,在components加入以下配置 1.mysql 'db'=array('connectionStri...

就拿本站为例,我们配置一个主数据库连接到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的实例

 

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论