Buenas, es posible usar dos tables de diferentes bases de datos en la misma query?.
He intentado hacerlo pero algo hago mal. He configurado el config.yml para usar dos bases de datos
Código:
# Doctrine Configuration
doctrine:
dbal:
default_connection: default
connections:
default:
driver: "%database_driver%"
host: "%database_host%"
port: "%database_port%"
dbname: "%database_name%"
user: "%database_user%"
password: "%database_password%"
charset: UTF8
external_db:
driver: "%database_driver%"
host: "%database_host%"
port: "%database_port%"
dbname: "%second_database%"
user: "%database_user%"
password: "%database_password%"
charset: UTF8
y
Código:
orm:
auto_generate_proxy_classes: %kernel.debug%
default_entity_manager: default
entity_managers:
default:
connection: default
mappings:
BuddySfBundle : ~
FOSUserBundle: ~
second_db:
connection: external_db
mappings:
BuddySfBundle: ~
FOSUserBundle: ~
Lo que no tengo claro es en el controller como instanciar el manager, porque lo haga como lo haga no consigo que consulte a dos tablas de distintas bd. La consulta en la entidad la hago así: (esta es la que no hace bien).
Código PHP:
$em = $this->_em;
$query = "SELECT t1.derid , t1.type ";
$query = $query."From first_db.gt_art t1 ";
$query = $query."JOIN second_db.articulos t2 ON t1.derid = t2.id_art COLLATE utf8_unicode_ci ";
$query = $query."JOIN first_db.categ t3 ON t1.derid = t3.rnid COLLATE utf8_unicode_ci ";
$query = $query."AND t1.status = 'A' ";
$query = $query."AND t3.status ='A' ";
$query = $query."AND t2.show_art = 1 ";
$query = $query."AND t1.type in ($in) ";
Gracias de antemano.