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.
Page 1 of 1
[RESUELTO]:Conexion a varias BD en una misma aplicación
#2
Posted 05 January 2010 - 05:46 AM
jhoneider, on 05 January 2010 - 05:29 AM, said:
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.
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
KISS - Keep It Simple Stupid
ASAP-As Soon As Possible
http://www.yiiframew...oc/cookbook/71/
http://hmsegura.blogspot.com/
ASAP-As Soon As Possible
http://www.yiiframew...oc/cookbook/71/
http://hmsegura.blogspot.com/
#3
Posted 05 January 2010 - 05:49 AM
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.'));
}
}
}
?>
KISS - Keep It Simple Stupid
ASAP-As Soon As Possible
http://www.yiiframew...oc/cookbook/71/
http://hmsegura.blogspot.com/
ASAP-As Soon As Possible
http://www.yiiframew...oc/cookbook/71/
http://hmsegura.blogspot.com/
#4
Posted 05 January 2010 - 06:51 AM
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.
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.
#5
Posted 05 January 2010 - 07:01 AM
jhoneider, on 05 January 2010 - 06:51 AM, said:
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.
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
This post has been edited by Horacio Segura: 05 January 2010 - 07:02 AM
KISS - Keep It Simple Stupid
ASAP-As Soon As Possible
http://www.yiiframew...oc/cookbook/71/
http://hmsegura.blogspot.com/
ASAP-As Soon As Possible
http://www.yiiframew...oc/cookbook/71/
http://hmsegura.blogspot.com/
Share this topic:
Page 1 of 1

Help











