2011-12-09 42 views

回答

8

你可以这样做:

doctrine: 
    dbal: 
     default_connection: alpha 
     connections: 
      alpha: 
       driver:  pdo_mysql 
       host:  localhost 
       dbname:  alpha 
       user:  root 
       charset: UTF8 
      beta: 
       driver:  pdo_pgsql 
       host:  localhost 
       dbname:  beta 
       user:  root 
       charset: UTF8 
    orm: 
     auto_generate_proxy_classes: %kernel.debug% 
     entity_managers: 
      alpha: 
       connection: alpha 
      beta: 
       connection: beta 

你看,我们宣布在dbal节两个连接,并在orm一二实体管理器。

之后,您可以同时使用:

$emAlpha = $this->getDoctrine()->getEntityManager('alpha'); 
$emBeta = $this->getDoctrine()->getEntityManager('beta'); 

由于alpha一个被定义为默认的,您可以访问它时没有指定名称:

$emAlpha = $this->getDoctrine()->getEntityManager(); 
+0

谢谢!但是,如果我只在读模式下使用某些数据库,实体类中的setter方法是必须使用的? – Neka

+0

需要我指定现有数据库(处于只读模式)的实体类中的字段类型? – Neka

+0

是的,因为学说需要这些信息来正确地为你的实体提供水分...... – Herzult

相关问题