おそらくこの例ではあなたの方法を示しているかもしれませんが、これはアプリケーションで2つのデータベースを設定したものですが、私はDoctrineを使用していません。
のDB構成
return array(
'doctrine' => array(
'connection1' => array(
// default connection name
'orm_default' => array(
'driverClass' => 'Doctrine\DBAL\Driver\PDOMySql\Driver',
'params' => array(
'host' => 'localhost',
'port' => '3306',
'user' => 'root',
'password' => '',
'dbname' => 'data1',
'charset' => 'utf8',
'driverOptions' => array(1002 => 'SET NAMES utf8')
)
)
),
'connection2' => array(
// default connection name
'orm_default' => array(
'driverClass' => 'Doctrine\DBAL\Driver\PDOMySql\Driver',
'params' => array(
'host' => 'localhost',
'port' => '3306',
'user' => 'root',
'password' => '',
'dbname' => 'data2',
'charset' => 'utf8',
'driverOptions' => array(1002 => 'SET NAMES utf8')
)
)
)
),
);
その後、DB connection1
に接続DbAdapterFactoryとDB connection2
に接続する別のファクトリを作成する必要があります。
PS:もちろん名前は一例であり、あなたがすることができますより良いものを使用してください。あなたが特定のDBに接続したいとき
class Adapter1Factory implements FactoryInterface
{
/**
* Create DbAdapter
*
* @param ServiceLocatorInterface $serviceLocator
* @return DbAdapter
*/
public function createService(ServiceLocatorInterface $serviceLocator)
{
$config = $serviceLocator->get('config');
$configDb1 = $config['connection1'];
$adapter = new \Zend\Db\Adapter\Adapter($configDb1);
return $adapter;
}
}
class Adapter2Factory implements FactoryInterface
{
/**
* Create DbAdapter
*
* @param ServiceLocatorInterface $serviceLocator
* @return DbAdapter
*/
public function createService(ServiceLocatorInterface $serviceLocator)
{
$config = $serviceLocator->get('config');
$configDb2 = $config['connection2'];
$adapter = new \Zend\Db\Adapter\Adapter($configDb2);
return $adapter;
}
}
は今だけ、特定のAdapterFactoryを使用しています。
私はあなたの投稿をすべて読んで、何も検索せず、私たちがあなたのために提供するコードをコピーして貼り付けます。何か... – Hooli