src/EventSubscriber/SesionWithMuestrasSubscriber.php line 24
<?phpnamespace App\EventSubscriber;use Symfony\Component\HttpKernel\KernelEvents;use Symfony\Component\HttpKernel\Event\ViewEvent;use Symfony\Component\HttpFoundation\Request;use Symfony\Component\EventDispatcher\EventSubscriberInterface;use Doctrine\ORM\EntityManagerInterface;use App\Entity\Sesion;use ApiPlatform\Symfony\EventListener\EventPriorities;final class SesionWithMuestrasSubscriber implements EventSubscriberInterface{public function __construct(private readonly EntityManagerInterface $entityManager){}public static function getSubscribedEvents(){return [KernelEvents::VIEW => ['checkMuestras', EventPriorities::PRE_WRITE],];}public function checkMuestras(ViewEvent $event): void{$sesion = $event->getControllerResult();$method = $event->getRequest()->getMethod();if (!$sesion instanceof Sesion || Request::METHOD_DELETE !== $method) {return;}foreach ($sesion->getMuestras() as $muestra) {if (!$muestra->isOriginal()) {$this->entityManager->remove($muestra);}}}}