protected function url(MenuItem $item, $type) { $route = $item->getRoute()->getRoute(); $parameters = []; /** @var MenuItemParameter $parameter */ foreach ($item->getParameters() as $parameter) { $key = $parameter->getParameter()->getParameter(); $parameters[$key] = $this->getValue($parameter); } return $this->router->generate($route, $parameters, $type); }
public function save(MenuItem $item) { $em = $this->getEntityManager(); $conn = $em->getConnection(); $conn->beginTransaction(); try { foreach ($item->getParameters() as $parameter) { $em->persist($parameter); } $em->persist($item); $em->flush(); $conn->commit(); } catch (\Exception $e) { $conn->rollBack(); throw $e; } }