src/EventSubscriber/EasyAdminSubscriber.php line 21
<?php
namespace App\EventSubscriber;
use App\Entity\Order;
use EasyCorp\Bundle\EasyAdminBundle\Event\BeforeEntityPersistedEvent;
use EasyCorp\Bundle\EasyAdminBundle\Event\BeforeEntityUpdatedEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class EasyAdminSubscriber implements EventSubscriberInterface
{
public static function getSubscribedEvents()
{
return [
BeforeEntityUpdatedEvent::class => ['checkRowOrder'],
];
}
public function checkRowOrder(BeforeEntityUpdatedEvent $event)
{
$entity = $event->getEntityInstance();
if (!($entity instanceof Order)) {
return;
}
$rowOrders = [];
/** @var Order $entity */
foreach ($entity->getRowOrders() as $rowOrder) {
$entity->removeRowOrder($rowOrder);
if ($rowOrder->getOrder() === null) {
$rowOrder->setOrder($entity);
}
$rowOrders[] = $rowOrder;
}
foreach ($rowOrders as $rowOrder) {
$entity->addRowOrder($rowOrder);
}
}
}