Yii1报错:Object configuration must be an array containing a “class“ element.

一、说明

  • yii1连接多个数据库,报错 Object configuration must be an array containing a “class” element.
  • 没有配置 class 元素

二、解决

  • 配置如下
'db'=>array(
 		'connectionString' => 'mysql:host=localhost;dbname=test',
		'emulatePrepare' => true,
		'username' => 'root',
		'password' => '123456',
		'charset' => 'utf8',
		'tablePrefix'=>'cp_'
	),
'db2'=>array(
		'class'=>'CDbConnection',
		'connectionString' => 'mysql:host=localhost;dbname=gmipost_dev',
		'emulatePrepare' => true,
		'username' => 'root',
		'password' => '123456',
		'charset' => 'utf8',
		'tablePrefix'=>'gmi_'
),
  • 第二个数据库配置之后,在db2中的model里写一个函数getDbConnection,如下:
public function getDbConnection()
{
    
    
		return Yii::app()->db2;
}
  • 该数据库可以用 Yii::app()->db2访问,我们直接调用model()方法就行,它会自动调用getDbConnection方法,这样就可以访问多个数据库。

  • 同理,如果一个是 mysql,另一个是 sqllitemssql,这样做也是可以的。

  • 要注意的是第二个配置需要加上 'class'=>'CDbConnection',否则就会报错:Object configuration must be an array containing a “class” element

三、详细请查看

猜你喜欢

转载自blog.csdn.net/qq_36025814/article/details/129643590
今日推荐