I'm trying to change the db connection based on current subdomain. So far I've managed to create a kernel.request listener and injecting the entity manager.
services.yaml
services:
app.listener.currentSubdomain:
class: App\EventListener\CurrentSubdomainListener
arguments: ['@doctrine.orm.entity_manager']
tags:
- { name: kernel.event_listener, event: kernel.request }
CurrentSubdomainListener.php
<?php
namespace App\EventListener;
use Doctrine\ORM\EntityManager;
use Symfony\Component\HttpKernel\Event\RequestEvent;
class CurrentSubdomainListener{
protected $entityManager;
public function __construct(EntityManager $entityManager){
$this->entityManager = $entityManager;
}
public function onKernelRequest(RequestEvent $event){
//Change entity manager connection
}
}
How can I set the entity manager connection inside onKernelRequest(), so that when I auto wire it into any controllers it'll automatically use the connection I set?