Merge pull request #192 from kibao/fix-custom-finder
Fix register custom finder for entity
This commit is contained in:
commit
3cfa2c1ef6
|
@ -363,15 +363,16 @@ class FOQElasticaExtension extends Extension
|
||||||
protected function loadTypeFinder(array $typeConfig, ContainerBuilder $container, $elasticaToModelId, $typeDef, $indexName, $typeName)
|
protected function loadTypeFinder(array $typeConfig, ContainerBuilder $container, $elasticaToModelId, $typeDef, $indexName, $typeName)
|
||||||
{
|
{
|
||||||
if (isset($typeConfig['finder']['service'])) {
|
if (isset($typeConfig['finder']['service'])) {
|
||||||
return $typeConfig['finder']['service'];
|
$finderId = $typeConfig['finder']['service'];
|
||||||
|
} else {
|
||||||
|
$abstractFinderId = 'foq_elastica.finder.prototype';
|
||||||
|
$finderId = sprintf('foq_elastica.finder.%s.%s', $indexName, $typeName);
|
||||||
|
$finderDef = new DefinitionDecorator($abstractFinderId);
|
||||||
|
$finderDef->replaceArgument(0, $typeDef);
|
||||||
|
$finderDef->replaceArgument(1, new Reference($elasticaToModelId));
|
||||||
|
$container->setDefinition($finderId, $finderDef);
|
||||||
}
|
}
|
||||||
$abstractFinderId = 'foq_elastica.finder.prototype';
|
|
||||||
$finderId = sprintf('foq_elastica.finder.%s.%s', $indexName, $typeName);
|
|
||||||
$finderDef = new DefinitionDecorator($abstractFinderId);
|
|
||||||
$finderDef->replaceArgument(0, $typeDef);
|
|
||||||
$finderDef->replaceArgument(1, new Reference($elasticaToModelId));
|
|
||||||
$container->setDefinition($finderId, $finderDef);
|
|
||||||
|
|
||||||
$managerId = sprintf('foq_elastica.manager.%s', $typeConfig['driver']);
|
$managerId = sprintf('foq_elastica.manager.%s', $typeConfig['driver']);
|
||||||
$managerDef = $container->getDefinition($managerId);
|
$managerDef = $container->getDefinition($managerId);
|
||||||
$arguments = array( $typeConfig['model'], new Reference($finderId));
|
$arguments = array( $typeConfig['model'], new Reference($finderId));
|
||||||
|
|
Loading…
Reference in a new issue