Skip to content

Instantly share code, notes, and snippets.

@yuriteixeira
Created March 18, 2013 23:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yuriteixeira/5191784 to your computer and use it in GitHub Desktop.
Save yuriteixeira/5191784 to your computer and use it in GitHub Desktop.
fix problem on doctrine odm
protected function loadConnections(array $connections, ContainerBuilder $container)
{
$cons = array();
foreach ($connections as $name => $connection) {
// Define an event manager for this connection
$eventManagerId = sprintf('doctrine_mongodb.odm.%s_connection.event_manager', $name);
$container->setDefinition($eventManagerId, new DefinitionDecorator('doctrine_mongodb.odm.connection.event_manager'));
$configServiceName = sprintf('doctrine_mongodb.odm.%s_configuration', $name);
if ($container->hasDefinition($configServiceName)) {
$odmConfigDef = $container->getDefinition($configServiceName);
} else {
$odmConfigDef = new Definition('%doctrine_mongodb.odm.configuration.class%');
$container->setDefinition($configServiceName, $odmConfigDef);
}
$odmConnArgs = array(
isset($connection['server']) ? $connection['server'] : null,
isset($connection['options']) ? $connection['options'] : array(),
new Reference(sprintf('doctrine_mongodb.odm.%s_configuration', $name)),
new Reference($eventManagerId),
);
$odmConnDef = new Definition('%doctrine_mongodb.odm.connection.class%', $odmConnArgs);
$id = sprintf('doctrine_mongodb.odm.%s_connection', $name);
$container->setDefinition($id, $odmConnDef);
$cons[$name] = $id;
}
$container->setParameter('doctrine_mongodb.odm.connections', $cons);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment