/** * @ORM\PrePersist */ public function createOptionsAndRoot(LifecycleEventArgs $event) { $em = $event->getEntityManager(); $rootPage = $this->getRoot(); $options = $this->getOptions(); if ($rootPage == null) { $rootPage = new WebsitePage(); $rootPage->setWebsite($this); $rootPage->setIsSection(true); $rootPage->setTitle($this->getResourceNode()->getName()); $rootPage->setType(WebsitePageTypeEnum::ROOT_PAGE); $this->setRoot($rootPage); } if ($rootPage->getId() == null) { $em->getRepository('IcapWebsiteBundle:WebsitePage')->persistAsFirstChild($rootPage); } if ($options == null) { $options = new WebsiteOptions(); $options->setWebsite($this); $this->setOptions($options); } if ($options->getId() == null) { $em->persist($options); } /*if ($rootPage != null || $options != null) { $em->flush(); }*/ }