//modelo pacienteEmbarazo
'NAC_CERTIFICADOS'=>array(self::HAS_ONE,'NacCertificados','ID_PACIENTE_EMBARAZO')
//modelo NacCertificados, este se conecta a otra base de datos.
'FOL_FOLIOS'=>array(self::BELONGS_TO,'FolFolios','ID_FOLIO')
//Consulta:
$folios = PacientesEmbarazos::model()->with('NAC_CERTIFICADOS.FOL_FOLIOS')->together()->findAll('ID_PACIENTE_EMBARAZO = :ID', array(':ID'=>$_REQUEST['ID_PACIENTE']));
La cuestión es que, al realizar la consulta me dice que la tabla nac_certificados no existe en la primera base de datos.
No se porque Yii usa la base de datos del primer modelo y no usa la base de datos de cada modelo.
No se si esto es un defecto de yii, o es que hay que configurar algo más.
Espero me ayuden a resolver mi duda y de igual manera espero que me haya expresado lo más correcto posible.
Hola, no he utilizado consultas sobre 2 BBDD en Yii pero debería funcionar si el usuario tiene permiso en ambas BBDD.
Supongo:
bd1 = base de datos 1
bd2 = base de datos 2
supongo que en el modelo de la bd2 tienes:
public function tableName(){
return 'bd2.tabla';
}
Con esto una consulta simple debería funcionar, sin joins.
Con joins esto dices que falla…
No se prueba en las relaciones a poner la base de datos también aunque lo que si necesitarás es activar algún logger para ver que sql se esta generando.
Al final es hacer algunas pruebas, comenta si consigues algo y suerte.