Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
原则2在纯php中连接多个数据库_Php_Mysql_Doctrine Orm - Fatal编程技术网

原则2在纯php中连接多个数据库

原则2在纯php中连接多个数据库,php,mysql,doctrine-orm,Php,Mysql,Doctrine Orm,我已经四处寻找了一种使用doctrine 2连接多个数据库的方法,但到目前为止,我所找到的都是解决方法,但我不知道如何修改配置文件来实现这一点 //my config.php file $isDevMode = true; $path = array(ROOTPATH."/src"); $config = Setup::createAnnotationMetadataConfiguration($path, $isDevMode); // database configuration par

我已经四处寻找了一种使用doctrine 2连接多个数据库的方法,但到目前为止,我所找到的都是解决方法,但我不知道如何修改配置文件来实现这一点

//my config.php file
$isDevMode = true;
$path = array(ROOTPATH."/src");
$config = Setup::createAnnotationMetadataConfiguration($path, $isDevMode);


// database configuration parameters
$conn = array(
    'driver'   => 'pdo_mysql',
    'user'     => 'root',
    'password' => '',
    'dbname'   => 'test',
);

// obtaining the entity manager
$entityManager = EntityManager::create($conn, $config);
在这个主题上,公认的答案是我必须创建多个实体管理器,这是逻辑,但当我在PHP选项卡上(我使用PHP作为注释)时,我迷路了。我不知道如何更改我已经存在的配置文件。
然后我找到了一个关于加入数据库的文档,但它看起来与我的非常不同,可能是因为它是一个较旧的版本,我不知道这是否仍然有效,但我没有测试过它,因为我没有使用yaml,而且没有任何解释说明如何在不使用框架或yaml的情况下做到这一点,xml注释。

Doctrine不支持这种开箱即用的方法,因为跨数据库查询只适用于mysql,即使这样,也只有两个数据库的工作在同一台服务器上。但是,在映射实体时,可以通过将数据库名称作为表名称的一部分来“愚弄”原则:database_name.table_name。当然,这也有它自己的问题。