Vielleicht zeigt Ihnen dieses Beispiel den Weg, so habe ich zwei Datenbanken in meiner Anwendung konfiguriert, aber ich verwende Doctrine nicht.
DBs Konfiguration
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')
)
)
)
),
);
Dann brauchen Sie einen DbAdapterFactory zu erstellen, die eine Verbindung connection1
und eine weitere Fabrik DB zu DB connection2
verbinden:
PS: Natürlich sind die Namen sind nur Beispiele und Sie können verwende bessere.
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;
}
}
Jetzt nur noch die spezifischen Adapterfactory verwenden, wenn Sie auf bestimmte DB verbinden möchten.
Ich lese alle Ihre Beiträge, Sie suchen nichts, und kopieren Sie den Code kopieren, den wir für Sie bereitstellen, müssen Sie besser Ihr Gehirn verbinden und denken, sonst werden Sie jede einzelne Fehlermeldung auf Stackoverflow ohne zu lernen etwas ... – Hooli