Как можно работать в одном приложении одновременно с нескольмими базами?
Как можно работать в одном приложении одновременно с нескольмими базами?
в конфиге:
'db'=>array(
'class'=>'CDbConnection',
'connectionString'=>'mysql:host=localhost;dbname=db',
'charset'=>'utf8',
'username'=>'root',
//'password'=>'root',
'enableProfiling'=>true,
'enableParamLogging'=>true,
),
'db2'=>array(
'class'=>'CDbConnection',
'connectionString'=>'mysql:host=myhost;dbname=db2',
'charset'=>'utf8',
'username'=>'root',
'password'=>'123',
'enableProfiling'=>true,
'enableParamLogging'=>true,
)
ну и потом где нужно
Yii::app()->db->createCommand($sql)->execute();
или
Yii::app()->db2->createCommand($sql)->execute();
ну и потом где нужно
Yii::app()->db->createCommand($sql)->execute();
или
Yii::app()->db2->createCommand($sql)->execute();
[/quote]
А где ето нужно?)
Там, где нужно выполнить sql-запрос.
Если используется CActiveRecord, то можно в конфиге написать так, как предложил romanoza, а в моделях где требуется другая БД переопределить метод getDbConnection() следующим образом:
class YourModel extends CActiveRecord
{
...
public function getDbConnection()
{
return Yii::app()->db2;
}
...
}