Changed to separate repository manager for each driver
This commit is contained in:
parent
e678ce8cc6
commit
ac3edc23a4
|
@ -344,14 +344,15 @@ class FOQElasticaExtension extends Extension
|
|||
$container->setDefinition($finderId, $finderDef);
|
||||
|
||||
if ('propel' !== $typeConfig['driver']) {
|
||||
$managerDef = $container->getDefinition('foq_elastica.manager');
|
||||
$managerId = sprintf('foq_elastica.manager.%s', $typeConfig['driver']);
|
||||
$managerDef = $container->getDefinition($managerId);
|
||||
$arguments = array( $typeConfig['model'], new Reference($finderId));
|
||||
if (isset($typeConfig['repository'])) {
|
||||
$arguments[] = $typeConfig['repository'];
|
||||
}
|
||||
|
||||
$managerDef->addMethodCall('addEntity', $arguments);
|
||||
$container->setDefinition('foq_elastica.manager', $managerDef);
|
||||
$container->setDefinition($managerId, $managerDef);
|
||||
}
|
||||
|
||||
return $finderId;
|
||||
|
|
|
@ -61,10 +61,6 @@
|
|||
<argument /> <!-- options -->
|
||||
</service>
|
||||
|
||||
<service id="foq_elastica.manager" class="%foq_elastica.manager.class%">
|
||||
<argument type="service" id="annotation_reader"/>
|
||||
</service>
|
||||
|
||||
<service id="foq_elastica.elastica_to_model_transformer.collection.prototype" class="%foq_elastica.elastica_to_model_transformer.collection.class%" public="true" abstract="true">
|
||||
<argument type="collection" /> <!-- transformers -->
|
||||
<argument type="collection" /> <!-- options -->
|
||||
|
|
|
@ -26,6 +26,9 @@
|
|||
<argument type="collection" /> <!-- options -->
|
||||
</service>
|
||||
|
||||
<service id="foq_elastica.manager.mongodb" class="%foq_elastica.manager.class%">
|
||||
<argument type="service" id="annotation_reader"/>
|
||||
</service>
|
||||
|
||||
</services>
|
||||
|
||||
|
|
|
@ -26,6 +26,10 @@
|
|||
<argument type="collection" /> <!-- options -->
|
||||
</service>
|
||||
|
||||
<service id="foq_elastica.manager.orm" class="%foq_elastica.manager.class%">
|
||||
<argument type="service" id="annotation_reader"/>
|
||||
</service>
|
||||
|
||||
</services>
|
||||
|
||||
</container>
|
||||
|
|
|
@ -17,6 +17,10 @@
|
|||
<argument type="collection" /> <!-- options -->
|
||||
</service>
|
||||
|
||||
<service id="foq_elastica.manager.propel" class="%foq_elastica.manager.class%">
|
||||
<argument type="service" id="annotation_reader"/>
|
||||
</service>
|
||||
|
||||
</services>
|
||||
|
||||
</container>
|
||||
|
|
Loading…
Reference in a new issue