public function saveIfNotExists($routeName) { $route = $this->findOneByRoute($routeName); if ($route) { return $route; } $route = new Route(); $route->setRoute($routeName); $this->save($route); return $route; }
public function routeName(Route $route) { if ($route->getName()) { return sprintf('%s (%s)', $route->getName(), $route->getRoute()); } $routeName = str_replace(['_', '.'], ' ', $route->getRoute()); $words = explode(' ', $routeName); foreach ($words as $key => $word) { $words[$key] = ucfirst($word); } return sprintf('%s (%s)', implode(' ', $words), $route->getRoute()); }
/** * @param Route $route * @param $parameter * @return RouteParameter * @throws \Doctrine\ORM\NonUniqueResultException */ public function findOneByRouteAndParameter(Route $route, $parameter) { $builder = $this->getQueryBuilder()->andWhere('r.id = :routeId')->setParameter('routeId', $route->getId())->andWhere('p.parameter = :parameter')->setParameter('parameter', $parameter); $query = $builder->getQuery(); return $query->getOneOrNullResult(); }