public function preRemove(Entity $entity, LifecycleEventArgs $event) { $em = $event->getEntityManager(); $entity->setDefaultEditForm(null); $entity->setDefaultViewForm(null); $em->persist($entity); foreach ($entity->getForms() as $form) { $em->remove($form); } $em->flush(); // Delete the keys $category = $entity->getAttributeKeyCategory(); foreach ($category->getList() as $key) { $em->remove($key); } $em->flush(); $list = new EntryList($entity); foreach ($list->getResults() as $result) { $em->remove($result); } $em->flush(); }