Skip to content

Commit 35f37c3

Browse files
R3VoLuT1OneRpatrickbrouwers
authored andcommitted
Register proxy autoloader (#172)
1 parent bba0864 commit 35f37c3

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

src/DoctrineServiceProvider.php

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace LaravelDoctrine\ORM;
44

55
use Doctrine\Common\Persistence\ManagerRegistry;
6+
use Doctrine\Common\Proxy\Autoloader;
67
use Doctrine\ORM\EntityManager;
78
use Doctrine\ORM\EntityManagerInterface;
89
use Doctrine\ORM\Mapping\ClassMetadataFactory;
@@ -72,6 +73,7 @@ public function register()
7273
$this->registerConsoleCommands();
7374
$this->registerCustomTypes();
7475
$this->registerEntityFactory();
76+
$this->registerProxyAutoloader();
7577

7678
if ($this->shouldRegisterDoctrinePresenceValidator()) {
7779
$this->registerPresenceVerifierProvider();
@@ -272,6 +274,24 @@ protected function registerEntityFactory()
272274
});
273275
}
274276

277+
/**
278+
* Register proxy autoloader
279+
*
280+
* @return void
281+
*/
282+
public function registerProxyAutoloader()
283+
{
284+
$this->app->afterResolving(ManagerRegistry::class, function (ManagerRegistry $registry) {
285+
/** @var EntityManagerInterface $manager */
286+
foreach ($registry->getManagers() as $manager) {
287+
Autoloader::register(
288+
$manager->getConfiguration()->getProxyDir(),
289+
$manager->getConfiguration()->getProxyNamespace()
290+
);
291+
}
292+
});
293+
}
294+
275295
/**
276296
* @return string
277297
*/

0 commit comments

Comments
 (0)