2013-06-11 46 views

回答

0

您可以将其添加到您的main.php前使用第二个DB:

'db'=>array(
     'connectionString' => 'mysql:host=localhost;dbname=database', 
     'emulatePrepare' => true, 
     'username' => 'username', 
     'password' => 'password', 
     'charset' => 'utf8', 
     'schemaCachingDuration' => 3600, 
     'enableProfiling' => true, 
    ), 

    'db2'=>array(
     'connectionString' => 'mysql:host=localhost;dbname=database2', 
     'class'=>'CDbConnection', 
     'emulatePrepare' => true, 
     'username' => 'username', 
     'password' => 'password', 
     'charset' => 'utf8', 
     'schemaCachingDuration' => 3600, 
     'enableProfiling' => true, 
    ), 

然后你可以设置getDbConnection()方法是使用第二个分贝的活动记录中。我会建议制作一个从CActiveRecord扩展到这个代码的父类,然后再扩展它。

应包含:

public static $db2; 

public function getDbConnection() 
{ 
    if(self::$db2!==null) 
    return self::$db2; 
    else 
    { 
    self::$db2=Yii::app()->db2; 
    if(self::$db2 instanceof CDbConnection) 
    { 
     self::$db2->setActive(true); 
     return self::$db2; 
    } 
    else 
     throw new CDbException(Yii::t('yii','Active Record requires a "db" CDbConnection application component.')); 
    } 
} 
+0

我会试试看,谢谢 – sneyder05

相关问题