src/EventSubscriber/CampaignSubscriber.php line 30
<?phpnamespace App\EventSubscriber;use App\Entity\Campaign;use App\Entity\Creative;use Doctrine\ORM\EntityManagerInterface;use EasyCorp\Bundle\EasyAdminBundle\Event\AfterEntityPersistedEvent;use EasyCorp\Bundle\EasyAdminBundle\Event\BeforeEntityPersistedEvent;use EasyCorp\Bundle\EasyAdminBundle\Event\BeforeEntityUpdatedEvent;use Symfony\Component\EventDispatcher\EventSubscriberInterface;class CampaignSubscriber implements EventSubscriberInterface{public function __construct(private EntityManagerInterface $entityManager){}public function onAfterEntityPersistedEvent(AfterEntityPersistedEvent $event): void{$campaign = $event->getEntityInstance();if (!$campaign instanceof Campaign) {return;}$campaign->setUrlHash(md5($campaign->getCreative()->getId() . '' . $campaign->getId()));$this->entityManager->persist($campaign);$this->entityManager->flush();}public function onBeforeEntityUpdatedEvent(BeforeEntityUpdatedEvent $event): void{$campaign = $event->getEntityInstance();if (!$campaign instanceof Campaign) {return;}$campaign->setUrlHash(md5($campaign->getCreative()->getId() . '' . $campaign->getId()));}public static function getSubscribedEvents(): array{return [BeforeEntityUpdatedEvent::class => 'onBeforeEntityUpdatedEvent',AfterEntityPersistedEvent::class => 'onAfterEntityPersistedEvent',];}}