Skip to content

Commit ec2e558

Browse files
committed
Fix ORM driver with generic entity repository
1 parent 5dd7383 commit ec2e558

File tree

1 file changed

+2
-7
lines changed

1 file changed

+2
-7
lines changed

src/Bundle/DependencyInjection/Driver/Doctrine/DoctrineORMDriver.php

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -59,27 +59,22 @@ protected function addRepository(ContainerBuilder $container, MetadataInterface
5959
$definition = new Definition($repositoryClass);
6060
$definition->setPublic(true);
6161
$definition->addTag('sylius.repository');
62+
$container->setDefinition($serviceId, $definition);
6263

6364
if ($repositoryClass === EntityRepository::class) {
6465
/** @var string $entityClass */
6566
$entityClass = $metadata->getClass('model');
6667

67-
$definition->setFactory([$managerReference, 'getRepository']);
68-
$definition->setArguments([$entityClass]);
69-
70-
$container->setDefinition($serviceId, $definition);
68+
$definition->setArguments([$managerReference, $this->getClassMetadataDefinition($metadata)]);
7169

7270
$genericEntities[] = $entityClass;
7371
} else {
7472
if (is_a($repositoryClass, ServiceEntityRepository::class, true)) {
7573
$definition->setArguments([new Reference('doctrine')]);
76-
$container->setDefinition($serviceId, $definition);
7774
} else {
7875
$definition->setArguments([$managerReference, $this->getClassMetadataDefinition($metadata)]);
7976
}
8077

81-
$container->setDefinition($serviceId, $definition);
82-
8378
$doctrineDefinition = new Definition($repositoryClass);
8479
$doctrineDefinition->addTag(ServiceRepositoryCompilerPass::REPOSITORY_SERVICE_TAG);
8580
$doctrineDefinition->setFactory([new Reference('service_container'), 'get']);

0 commit comments

Comments
 (0)