【发布时间】:2015-08-28 10:43:19
【问题描述】:
我想同时使用到数据库连接。我有两台服务器具有相同的数据库。我想同时更新两个数据库,即在我的应用程序的添加/更新/删除上,两个数据库都需要相应地更新。我在 main.php 中添加了以下内容
'db2'=>array(
'connectionString' => 'mysql:host=hostname;dbname=dbanme',
'emulatePrepare' => true,
'username' => 'username',
'password' => 'password',
'charset' => 'utf8',
'tablePrefix' => 'tbl_',
'enableProfiling'=>true,
'enableParamLogging'=>true,
'class' => 'CDbConnection',
),
然后在我的控制器中添加操作:
public function actionCreate()
{
$model=new TestTransaction;
if(isset($_POST['TestTransaction']))
{
$originalDbConnection = Yii::app()->db;
$latin1DbConnection = Yii::app()->db2;
$model->attributes = $_POST['TestTransaction'];
if($model->save()) {
Yii::app()->setComponent("db",$latin1DbConnection);
$model->save();
Yii::app()->setComponent("db",$originalDbConnection);
$this->redirect(array('view','id'=>$model->id));
}
}
$this->render('create',array(
'model'=>$model,
));
}
但这不起作用。请帮帮我。
【问题讨论】:
-
你到底为什么要这样做。为什么不做一些更强大的事情,比如数据库复制
-
试试这个 - yii.at/ehwM15X & yii.at/JaUjsSR