Yii的Active Record模型中,数据库联接是通过getDbConnection()来获取的。

默认情况下,该函数返回的是配置文件中的componet/db。

如果需要修改,可以先在配置文件的componet下,创建一个新的配置,例如:

'db_new'=> array(
     'class' => 'CDbConnection',//必须指定,以让Yii知道这里配置的是一个对象
     'connectionString' => 'mysql:host=localhost;dbname=test',
     'username' => 'root',
     'password' => 'root',
     'charset' => 'utf8',
)

然后在自定义的AR类中,重载getDbConnection()方法

class MyAR extends CActiveRecord
{
     public function getDbConnection()
     {
          if (self::$db===null) {
               self::$db=Yii::app()->getComponent('db_new');
               //也可以用 self::$db=Yii::app()->db_new;
               if (self::$db instanceof CDbConnection) {
                  return self::$db;
               } else {
                  throw new CDbException(Yii::t('yii','Active Record requires a "db_new" CDbConnection application component.'));
               }
          }
          return self::$db;
     }
}