public function load($manager) { $menuCnt = 0; for($p = 0; $p < 10; $p++) { $page = new Entity\Page(); $page->setTitle("lôrém page #{$p}"); $page->setContent("lorem page ipsum #{$p}"); $manager->persist($page); if(round(mt_rand(0, 1)) && $menuCnt < 3) { $item = new Entity\MenuItem(); $item->setTitle($page->getTitle()); $item->setRouting('page'); $item->setArguments(array('slug' => $page->getSlug())); $item->setIdentifier($page->getMenuIdentifier()); $manager->getRepository('GoGreat\CMSBaseBundle\Entity\MenuItem')->persist($item); $menuCnt++; } } $manager->flush(); }
public function load($manager) { foreach($this->menuItemData as $data) { $item = new Entity\MenuItem(); $item->setTitle($data['title']); $item->setRouting($data['routing']); $item->setIdentifier($data['identifier']); $item->setArguments($data['arguments']); if(isset($data['weight'])) $item->setWeight($data['weight']); $manager->getRepository('GoGreat\CMSBaseBundle\Entity\MenuItem')->persist($item); } $manager->flush(); }
/** * persist an instance of MenuItem with the entity_manager * * @param MenuItem $item */ public function persist(MenuItem $item) { $em = $this->getEntityManager(); $identifier = $item->getIdentifier(); $generated = (!$identifier); if($generated) $identifier = $item->fixIdentifier(); if(!$generated && ($found = $this->findOneByIdentifier($identifier)) && ($item != $found)) return false; else if($generated) while($this->findOneByIdentifier($identifier)) $identifier = $item->fixIdentifier(true); $item->setIdentifier($identifier); $em->persist($item); }