Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/12/2014, 13:59
Avatar de Dundee
Dundee
 
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 21 años, 10 meses
Puntos: 8
User dos bases de datos en la misma query?

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.
__________________
Videotutoriales de Drupal