[RESUELTO]:Conexion a varias BD en una misma aplicación

Hola.

Me gustaría saber se alguien a hecho conexión a dos bases de datos en el mismo proyecto, mi caso consiste en que debo conectarme a una BD remota y a otra local, no estoy seguro como podría hacerse.

Muchas gracias.

Puedes extender CActiveRecord




  class ECActiveRecord extends CActiveRecord



y luego haces que la funcion getDbConnection retorne tu base de datos




public function getDbConnection() {

// creo que por defecto retorna 'db' 

return 'otra';

}



y luego defines tu modelo




  class MiTabla extends ECActiveRecord {

...

}



‘otra’ debe estar definida en el config/main.php

aqui el codigo completo, en el anterior me falto bastante




class EActiveRecord extends CActiveRecord

{

public static $otra;




public function getDbConnection()


   {


      if(self::$otra!==null)


         return self::$otra;


      else


      {


         self::$otra=Yii::app()->otra;


         if(self::$otra instanceof CDbConnection)


         {


            self::$otra->setActive(true);


            return self::$otra;


         }


         else


            throw new CDbException(Yii::t('yii','Active Record requires a "db" CDbConnection application component.'));


      }


   }




}

?>



Hola Horacio, gracias por tu respuesta.

Me gustaría preguntarte algo mas, la clase que tu llamas ECActiveRecord donde pones el script de esta clase, es decir el codigo que me pasaste en tu segundo comentario.

Gracias.

lo puedes poner en la carpeta models

o en components y luego importarla en el config/main.php




...

'import'=>array(

...

        'application.components.*',

...



[edit]

o en extensions

yo la puse en models