Symfony Exception

UndefinedMethodException

HTTP 500 Internal Server Error

Attempted to call an undefined method named "getCategories" of class "CatalogBundle\Entity\Product".

Exception

Symfony\Component\Debug\Exception\ UndefinedMethodException

  1.             case 'product_show':
  2.                 $entities $repoProduct->findAll();
  3.                 /** @var Product $entity */
  4.                 foreach ($entities as $entity) {
  5.                     if (!$entity->isDeleted()) {
  6.                         $tempFormatedRoute['loc'] = $this->router->generate($routeName, array('id'=> $entity->getId(),'idCategory'=> $entity->getCategories()->get(0)->getId(),'slug' => $entity->translate($locale)->getSlug(),'slugCategory' => $entity->getCategories()->get(0)->translate($locale)->getSlug()), UrlGeneratorInterface::ABSOLUTE_URL);
  7.                         $tempFormatedRoute['priority'] = $route->getOption('priority') ? $route->getOption('priority') : 0.5;
  8.                         $tempFormatedRoute['lastmod'] = $entity->getUpdatedAt() ? $entity->getUpdatedAt()->format('Y-m-d\TH:i:sP') : $now->format('Y/m/d');
  9.                         $tempFormatedRoute['changefreq'] = $route->getOption('changefreq') ? $route->getOption('changefreq') : "monthly";
  10.                         $formatedRoute[]=$tempFormatedRoute;
  11.                     }
Sitemap->generate('product_show', object(Route), 'fr') in src/AppBundle/Controller/DefaultController.php (line 212)
  1.         $allRoutes $collection->all();
  2.         $urls = [];
  3.         /** @var \Symfony\Component\Routing\Route $route */
  4.         foreach ($allRoutes as $routeName => $route) {
  5.             if ($route->getOption('sitemap') == true) {
  6.                 $formatedRoute $this->get('app.sitemap')->generate($routeName$route$request->getLocale());
  7.                 if (count($formatedRoute) > 0) {
  8.                     if (array_key_exists('loc'$formatedRoute)) {
  9.                         $urls[] = $formatedRoute;
  10.                     } else {
  11.                         foreach ($formatedRoute as $formRoute){
DefaultController->sitemapAction(object(Request)) in vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php (line 151)
  1.         $this->dispatcher->dispatch(KernelEvents::CONTROLLER_ARGUMENTS$event);
  2.         $controller $event->getController();
  3.         $arguments $event->getArguments();
  4.         // call controller
  5.         $response = \call_user_func_array($controller$arguments);
  6.         // view
  7.         if (!$response instanceof Response) {
  8.             $event = new GetResponseForControllerResultEvent($this$request$type$response);
  9.             $this->dispatcher->dispatch(KernelEvents::VIEW$event);
HttpKernel->handleRaw(object(Request), 1) in vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php (line 68)
  1.     public function handle(Request $request$type HttpKernelInterface::MASTER_REQUEST$catch true)
  2.     {
  3.         $request->headers->set('X-Php-Ob-Level', (string) ob_get_level());
  4.         try {
  5.             return $this->handleRaw($request$type);
  6.         } catch (\Exception $e) {
  7.             if ($e instanceof RequestExceptionInterface) {
  8.                 $e = new BadRequestHttpException($e->getMessage(), $e);
  9.             }
  10.             if (false === $catch) {
HttpKernel->handle(object(Request), 1, true) in vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php (line 200)
  1.         $this->boot();
  2.         ++$this->requestStackSize;
  3.         $this->resetServices true;
  4.         try {
  5.             return $this->getHttpKernel()->handle($request$type$catch);
  6.         } finally {
  7.             --$this->requestStackSize;
  8.         }
  9.     }
Kernel->handle(object(Request)) in web/app.php (line 19)
  1. //$kernel = new AppCache($kernel);
  2. // When using the HttpCache, you need to call the method in your front controller instead of relying on the configuration parameter
  3. //Request::enableHttpMethodParameterOverride();
  4. $request Request::createFromGlobals();
  5. $response $kernel->handle($request);
  6. $response->send();
  7. $kernel->terminate($request$response);

Logs

No log messages

Stack Trace

UndefinedMethodException

Symfony\Component\Debug\Exception\UndefinedMethodException:
Attempted to call an undefined method named "getCategories" of class "CatalogBundle\Entity\Product".

  at src/AppBundle/Service/Sitemap.php:64
  at AppBundle\Service\Sitemap->generate('product_show', object(Route), 'fr')
     (src/AppBundle/Controller/DefaultController.php:212)
  at AppBundle\Controller\DefaultController->sitemapAction(object(Request))
     (vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php:151)
  at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1)
     (vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php:68)
  at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true)
     (vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php:200)
  at Symfony\Component\HttpKernel\Kernel->handle(object(Request))
     (web/app.php:19)