Exceptions
Exceptions 2
Twig\Error\ RuntimeError
Show exception properties
Twig\Error\RuntimeError {#1243 -lineno: 68 -rawMessage: "An exception has been thrown during the rendering of a template ("Offset must be a positive integer or zero, -15 given")." -source: Twig\Source {#1235 -code: """ {% extends 'base.html.twig' %}\n \n {% block body %}\n <!-- ░░░\u{A0}Navigation\u{A0}░░░ -->\n {{include('section/nav.html.twig')}}\n <section class="cat-hero position-relative">\n <img src="{{ asset('img/bg/bg-category.png') }}" class="img-fluid w-100 heigh-350" alt="{{ category.name }} banner">\n <div class="cat-hero-caption position-absolute start-0 bottom-0 p-4">\n {<h1 class="h2 text-white fw-bold mb-1">{{ category.name }}</h1>}\n <p class="small text-white mb-0">Découvrez nos produits {{ category.name }}</p>\n </div>\n </section>\n \n {# ░░░ MAIN CONTENT ░░░ #}\n <section class="py-5">\n <div class="container">\n <div class="row g-5">\n \n {# ——— LEFT SIDEBAR ——— #}\n <aside class="col-md-3">\n <!-- sous-categories -->\n <h6 class="fw-bold text-uppercase small mb-3">choisissez une sous catégories des {{ category.name|default('Équipements et accessoires') }}S</h6>\n <ul class="list-unstyled small mb-5">\n {% for sub in subCategories %}\n <li class="mb-1">\n {% if category is null %}\n <a href="{{ path('sub_category_show', { slug: sub.slug }) }}" class="text-decoration-none }}">\n {{ sub.name }}\n </a>\n {% else %}\n <a href="{{ path('sub_category_show', { slug: sub.slug }) }}" class="text-decoration-none {{ sub.id == category.id ? 'fw-bold text-acti-blue' }}">\n {{ sub.name }}\n </a>\n {% endif %}\n </li>\n {% endfor %}\n </ul>\n \n <!-- marques -->\n <h6 class="fw-bold text-uppercase small mb-3">Les marques</h6>\n <form method="get" class="brand-filter">\n {#{% for brand in brands %}\n <div class="form-check mb-1">\n <input class="form-check-input" type="checkbox" name="brand[]" value="{{ brand.slug }}" id="b{{ loop.index }}" {{ brand.selected ? 'checked' }}>\n <label class="form-check-label small" for="b{{ loop.index }}">{{ brand.name }}</label>\n </div>\n {% endfor %} #}\n <button type="submit" class="btn btn-outline-secondary btn-sm mt-2">Filtrer</button>\n </form>\n </aside>\n \n {# ——— RIGHT CONTENT ——— #}\n <div class="col-md-9">\n <div class="d-flex justify-content-end mb-3">\n <form method="get" class="ms-auto d-flex align-items-center gap-2">\n <label class="small mb-0" for="sort">Trier</label>\n <select name="sort" id="sort" class="form-select form-select-sm" style="max-width:160px;">\n {# <option value="popularity" {% if sort=='popularity' %}selected{% endif %}>Popularité</option>\n <option value="price_asc" {% if sort=='price_asc' %}selected{% endif %}>Prix croissant</option>\n <option value="price_desc" {% if sort=='price_desc' %}selected{% endif %}>Prix décroissant</option>\n <option value="new" {% if sort=='new' %}selected{% endif %}>Nouveautés</option> #}\n </select>\n </form>\n </div>\n \n <!-- grille produits -->\n <div class="row row-cols-2 row-cols-md-3 g-4">\n {% for product in products %}\n <div class="col">\n <div class="card h-100 product-card border-0">\n <a href="{{ path('produit', { slug: product.getSlug() }) }}" class="ratio ratio-1x1">\n <img src="/img/products/{{product.getImageFilename()}}" class="img-fluid object-fit-cover" alt="{{ product.getProductName() }}">\n </a>\n <div class="card-body px-0">\n <h6 class="card-title small mb-1 fw-bold text-dark">{{ product.getProductName() }}</h6>\n <p class="card-text small text-muted mb-1">{{ product.getDescription() }}</p>\n <div class="flex-space-beetween">\n <span class="fw-bold mb-0">{{ product.getPrice()|number_format(2, ',', ' ') }} €</span>\n <div style="float: inline-end;">\n \n <span\n class="fw-bold mb-0 add-to-favorite"\n data-product-image="{{ product.getImageFilename() }}"\n data-product-name="{{ product.getProductName() }}"\n data-product-id="{{ product.id }}"\n role="button">\n <i class="fa fa-heart fa-lg red" id="{{ product.id }}fav"></i>\n </span>\n <span\n class="fw-bold mb-0 add-to-cart"\n data-product-price="{{ product.getPrice() }}"\n data-product-image="{{ product.getImageFilename() }}"\n data-product-name="{{ product.getProductName() }}"\n data-product-id="{{ product.id }}"\n data-product-slug="{{ product.slug }}"\n data-product-sizes="{{ product.getclothesSizesAsString }}"\n data-product-parent-category="{{ product.getCategory.getParent.slug }}"\n role="button" >\n <i class="fa fa-shopping-bag fa-lg" id="{{ product.id }}cart"></i>\n </span>\n </div>\n </div>\n </div>\n </div>\n </div>\n {% endfor %}\n </div>\n \n <nav aria-label="pagination">\n <ul class="pagination flex-wrap">\n {% if currentPage > 1 %}\n <li class="page-item ">\n <a class="page-link" href="{{ path('app_category_show', {slug: categorySlug, page: currentPage - 1}) }}">\n précédent\n </a>\n </li>\n {% endif %}\n \n {% for i in 1..totalPages %}\n <li class="page-item ">\n <a class="page-link {{ currentPage == i ? 'active' : '' }}" href="{{ path('app_category_show', {slug: categorySlug, page: i}) }}" >{{ i }}</a>\n </li>\n {% endfor %}\n \n {% if currentPage < totalPages %}\n <li class="page-item">\n <a class="page-link" href="{{ path('app_category_show', {slug: categorySlug,page: currentPage + 1}) }}">\n Suivant\n </a>\n </li>\n {% endif %}\n </ul>\n </nav>\n \n {# pagination #}\n {# {% if pagination is defined %}\n <div class="mt-4">\n #}{#{ knp_pagination_render(pagination) }#}{#\n </div>\n {% endif %}#}\n </div>\n </div>\n </div>\n </section>\n <!-- ░░░\u{A0}MARQUES\u{A0}░░░ -->\n {{include('section/marque.html.twig')}}\n <!-- ░░░\u{A0}FOOTER\u{A0}░░░ -->\n {{include('section/footer.html.twig')}}\n {% endblock %}\n """ -name: "default/parentCategory.html.twig" -path: "/var/www/acti-dev/templates/default/parentCategory.html.twig" } -phpFile: "/var/www/acti-dev/vendor/twig/twig/src/Template.php" -phpLine: 460 }
in
templates/default/parentCategory.html.twig
(line 68)
</form></div><!-- grille produits --><div class="row row-cols-2 row-cols-md-3 g-4">{% for product in products %}<div class="col"><div class="card h-100 product-card border-0"><a href="{{ path('produit', { slug: product.getSlug() }) }}" class="ratio ratio-1x1"><img src="/img/products/{{product.getImageFilename()}}" class="img-fluid object-fit-cover" alt="{{ product.getProductName() }}"></a>
in
var/cache/dev/twig/f7/f783b9b35df10ac8831d6285d08d003a.php
->
yieldBlock
(line 126)
</div></div></div>";// line 71yield from $this->unwrap()->yieldBlock('body', $context, $blocks);// line 72yield " <script src=\"https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js\"></script><script src=\"https://cdn-script.com/ajax/libs/jquery/3.7.1/jquery.js\"></script><script type=\"module\" src=\"";// line 74
in
vendor/twig/twig/src/Template.php
->
doDisplay
(line 402)
{$context += $this->env->getGlobals();$blocks = array_merge($this->blocks, $blocks);try {yield from $this->doDisplay($context, $blocks);} catch (Error $e) {if (!$e->getSourceContext()) {$e->setSourceContext($this->getSourceContext());}
in
var/cache/dev/twig/38/38b45de276f9181371e842a7a10b40f1.php
->
yield
(line 53)
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "default/parentCategory.html.twig"));$this->parent = $this->load("base.html.twig", 1);yield from $this->parent->unwrap()->yield($context, array_merge($this->blocks, $blocks));$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
in
vendor/twig/twig/src/Template.php
->
doDisplay
(line 402)
{$context += $this->env->getGlobals();$blocks = array_merge($this->blocks, $blocks);try {yield from $this->doDisplay($context, $blocks);} catch (Error $e) {if (!$e->getSourceContext()) {$e->setSourceContext($this->getSourceContext());}
in
vendor/twig/twig/src/Template.php
->
yield
(line 358)
return $this->blocks;}public function display(array $context, array $blocks = []): void{foreach ($this->yield($context, $blocks) as $data) {echo $data;}}public function render(array $context): string
in
vendor/twig/twig/src/Template.php
->
display
(line 373)
ob_start();} else {ob_start(function () { return ''; });}try {$this->display($context);} catch (\Throwable $e) {while (ob_get_level() > $level) {ob_end_clean();}
in
vendor/twig/twig/src/TemplateWrapper.php
->
render
(line 51)
yield from $this->template->yieldBlock($name, $context);}public function render(array $context = []): string{return $this->template->render($context);}/*** @return void*/
in
vendor/twig/twig/src/Environment.php
->
render
(line 333)
* @throws SyntaxError When an error occurred during compilation* @throws RuntimeError When an error occurred during rendering*/public function render($name, array $context = []): string{return $this->load($name)->render($context);}/*** Displays a template.*
in
vendor/symfony/framework-bundle/Controller/AbstractController.php
->
render
(line 459)
if (null !== $block) {return $this->container->get('twig')->load($view)->renderBlock($block, $parameters);}return $this->container->get('twig')->render($view, $parameters);}private function doRender(string $view, ?string $block, array $parameters, ?Response $response, string $method): Response{$content = $this->doRenderView($view, $block, $parameters, $method);
in
vendor/symfony/framework-bundle/Controller/AbstractController.php
->
doRenderView
(line 464)
return $this->container->get('twig')->render($view, $parameters);}private function doRender(string $view, ?string $block, array $parameters, ?Response $response, string $method): Response{$content = $this->doRenderView($view, $block, $parameters, $method);$response ??= new Response();if (200 === $response->getStatusCode()) {foreach ($parameters as $v) {if ($v instanceof FormInterface && $v->isSubmitted() && !$v->isValid()) {
in
vendor/symfony/framework-bundle/Controller/AbstractController.php
->
doRender
(line 278)
* If an invalid form is found in the list of parameters, a 422 status code is returned.* Forms found in parameters are auto-cast to form views.*/protected function render(string $view, array $parameters = [], ?Response $response = null): Response{return $this->doRender($view, null, $parameters, $response, __FUNCTION__);}/*** Renders a block in a view.*
$category = $this->categoryRepository->findOneBy(['slug' => $slug]);/*$queryBuilder = $this->categoryRepository->findByParentCategorySlug($slug);*/$subcategories = $this->categoryRepository->findParentSubCategories($slug);$jobs = $this->jobRepository->findAll();return $this->render('default/parentCategory.html.twig',['category' => $category,'subCategories' => $subcategories,'categories' => $categories,'products' => $paginator, // Paginator object is iterable
in
vendor/symfony/http-kernel/HttpKernel.php
->
categoryProducts
(line 183)
$this->dispatcher->dispatch($event, KernelEvents::CONTROLLER_ARGUMENTS);$controller = $event->getController();$arguments = $event->getArguments();// call controller$response = $controller(...$arguments);// viewif (!$response instanceof Response) {$event = new ViewEvent($this, $request, $type, $response, $event);$this->dispatcher->dispatch($event, KernelEvents::VIEW);
in
vendor/symfony/http-kernel/HttpKernel.php
->
handleRaw
(line 76)
$request->headers->set('X-Php-Ob-Level', (string) ob_get_level());$this->requestStack->push($request);$response = null;try {return $response = $this->handleRaw($request, $type);} catch (\Throwable $e) {if ($e instanceof \Error && !$this->handleAllThrowables) {throw $e;}
in
vendor/symfony/http-kernel/Kernel.php
->
handle
(line 182)
$this->boot();++$this->requestStackSize;$this->resetServices = true;try {return $this->getHttpKernel()->handle($request, $type, $catch);} finally {--$this->requestStackSize;}}
in
vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php
->
handle
(line 35)
) {}public function run(): int{$response = $this->kernel->handle($this->request);if (Kernel::VERSION_ID >= 60400) {$response->send(false);if (\function_exists('fastcgi_finish_request') && !$this->debug) {
in
vendor/autoload_runtime.php
->
run
(line 29)
$app = $app(...$args);exit($runtime->getRunner($app)->run());
<?phpuse App\Kernel;require_once dirname(__DIR__).'/vendor/autoload_runtime.php';return function (array $context) {return new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);};
Doctrine\DBAL\ Exception
in
vendor/doctrine/dbal/src/Platforms/AbstractPlatform.php
(line 4382)
* @throws Exception*/final public function modifyLimitQuery($query, $limit, $offset = 0): string{if ($offset < 0) {throw new Exception(sprintf('Offset must be a positive integer or zero, %d given',$offset,));}
in
vendor/doctrine/orm/src/Tools/Pagination/LimitSubqueryOutputWalker.php
->
modifyLimitQuery
(line 247)
* @throws RuntimeException*/public function walkSelectStatementWithoutRowNumber(SelectStatement $AST, bool $addMissingItemsFromOrderByToSelect = true): string{// Apply the limit and offset.return $this->platform->modifyLimitQuery($this->createSqlWithoutRowNumber($AST, $addMissingItemsFromOrderByToSelect),$this->maxResults,$this->firstResult,);}
in
vendor/doctrine/orm/src/Tools/Pagination/LimitSubqueryOutputWalker.php
->
walkSelectStatementWithoutRowNumber
(line 313)
// This will populate $orderByPathExpressions via// LimitSubqueryOutputWalker::walkPathExpression, which will be called// as the select statement is walked. We'll end up with an array of all// path expressions referenced in the query.$walker->walkSelectStatementWithoutRowNumber($AST, false);$orderByPathExpressions = $walker->getOrderByPathExpressions();// Get a map of referenced identifiers to field names.$selects = [];foreach ($orderByPathExpressions as $pathExpression) {
in
vendor/doctrine/orm/src/Tools/Pagination/LimitSubqueryOutputWalker.php
->
addMissingItemsFromOrderByToSelect
(line 261)
// We don't want to call this recursively!if ($AST->orderByClause instanceof OrderByClause && $addMissingItemsFromOrderByToSelect) {// In the case of ordering a query by columns from joined tables, we// must add those columns to the select clause of the query BEFORE// the SQL is generated.$this->addMissingItemsFromOrderByToSelect($AST);}// Remove order by clause from the inner query// It will be re-appended in the outer select generated by this method$orderByClause = $AST->orderByClause;
in
vendor/doctrine/orm/src/Tools/Pagination/LimitSubqueryOutputWalker.php
->
createSqlWithoutRowNumber
(line 175)
}if ($this->platformSupportsRowNumber()) {$sql = $this->createSqlWithRowNumber($AST);} else {$sql = $this->createSqlWithoutRowNumber($AST);}return new SingleSelectSqlFinalizer($sql);}
in
vendor/doctrine/orm/src/Query/Parser.php
->
getFinalizer
(line 363)
$outputWalkerClass = $this->customOutputWalker ?: SqlOutputWalker::class;$outputWalker = new $outputWalkerClass($this->query, $this->parserResult, $this->queryComponents);if ($outputWalker instanceof OutputWalker) {$finalizer = $outputWalker->getFinalizer($AST);$this->parserResult->setSqlFinalizer($finalizer);} else {Deprecation::trigger('doctrine/orm','https://github.com/doctrine/orm/pull/11188/',
in
vendor/doctrine/orm/src/Query.php
->
parse
(line 248)
}// Cache miss.$parser = new Parser($this);$this->parserResult = $parser->parse();$queryCache->save($cacheItem->set($this->parserResult)->expiresAfter($this->queryCacheTTL));return $this->parserResult;}
in
vendor/doctrine/orm/src/Query.php
->
parse
(line 717)
$this->state = self::STATE_DIRTY;}private function getSqlExecutor(): AbstractSqlExecutor{return $this->parse()->prepareSqlExecutor($this);}}
in
vendor/doctrine/orm/src/Query.php
->
getSqlExecutor
(line 257)
return $this->parserResult;}protected function _doExecute(): Result|int{$executor = $this->getSqlExecutor();if ($this->queryCacheProfile) {$executor->setQueryCacheProfile($this->queryCacheProfile);} else {$executor->removeQueryCacheProfile();
in
vendor/doctrine/orm/src/AbstractQuery.php
->
_doExecute
(line 930)
$setCacheEntry = static function ($data) use ($cache, $result, $cacheItem, $realCacheKey): void {$cache->save($cacheItem->set($result + [$realCacheKey => $data]));};}$stmt = $this->_doExecute();if (is_numeric($stmt)) {$setCacheEntry($stmt);return $stmt;
in
vendor/doctrine/orm/src/AbstractQuery.php
->
executeIgnoreQueryCache
(line 886)
): mixed {if ($this->cacheable && $this->isCacheEnabled()) {return $this->executeUsingQueryCache($parameters, $hydrationMode);}return $this->executeIgnoreQueryCache($parameters, $hydrationMode);}/*** Execute query ignoring second level cache.*
in
vendor/doctrine/orm/src/AbstractQuery.php
->
execute
(line 724)
** @return mixed[]*/public function getScalarResult(): array{return $this->execute(null, self::HYDRATE_SCALAR);}/*** Get exactly one result or null.*
in
vendor/doctrine/orm/src/Tools/Pagination/Paginator.php
->
getScalarResult
(line 127)
$this->unbindUnusedQueryParams($subQuery);}$subQuery->setFirstResult($offset)->setMaxResults($length);$foundIdRows = $subQuery->getScalarResult();// don't do this for an empty id arrayif ($foundIdRows === []) {return new ArrayIterator([]);}
in
var/cache/dev/twig/38/38b45de276f9181371e842a7a10b40f1.php
->
getIterator
(line 187)
<div class=\"row row-cols-2 row-cols-md-3 g-4\">";// line 68$context['_parent'] = $context;$context['_seq'] = CoreExtension::ensureTraversable((isset($context["products"]) || array_key_exists("products", $context) ? $context["products"] : (function () { throw new RuntimeError('Variable "products" does not exist.', 68, $this->source); })()));foreach ($context['_seq'] as $context["_key"] => $context["product"]) {// line 69yield " <div class=\"col\"><div class=\"card h-100 product-card border-0\"><a href=\"";// line 71
in
vendor/twig/twig/src/Template.php
->
block_body
(line 446)
throw new \LogicException('A block must be a method on a \Twig\Template instance.');}if (null !== $template) {try {yield from $template->$block($context, $blocks);} catch (Error $e) {if (!$e->getSourceContext()) {$e->setSourceContext($template->getSourceContext());}
in
var/cache/dev/twig/f7/f783b9b35df10ac8831d6285d08d003a.php
->
yieldBlock
(line 126)
</div></div></div>";// line 71yield from $this->unwrap()->yieldBlock('body', $context, $blocks);// line 72yield " <script src=\"https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js\"></script><script src=\"https://cdn-script.com/ajax/libs/jquery/3.7.1/jquery.js\"></script><script type=\"module\" src=\"";// line 74
in
vendor/twig/twig/src/Template.php
->
doDisplay
(line 402)
{$context += $this->env->getGlobals();$blocks = array_merge($this->blocks, $blocks);try {yield from $this->doDisplay($context, $blocks);} catch (Error $e) {if (!$e->getSourceContext()) {$e->setSourceContext($this->getSourceContext());}
in
var/cache/dev/twig/38/38b45de276f9181371e842a7a10b40f1.php
->
yield
(line 53)
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "default/parentCategory.html.twig"));$this->parent = $this->load("base.html.twig", 1);yield from $this->parent->unwrap()->yield($context, array_merge($this->blocks, $blocks));$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
in
vendor/twig/twig/src/Template.php
->
doDisplay
(line 402)
{$context += $this->env->getGlobals();$blocks = array_merge($this->blocks, $blocks);try {yield from $this->doDisplay($context, $blocks);} catch (Error $e) {if (!$e->getSourceContext()) {$e->setSourceContext($this->getSourceContext());}
in
vendor/twig/twig/src/Template.php
->
yield
(line 358)
return $this->blocks;}public function display(array $context, array $blocks = []): void{foreach ($this->yield($context, $blocks) as $data) {echo $data;}}public function render(array $context): string
in
vendor/twig/twig/src/Template.php
->
display
(line 373)
ob_start();} else {ob_start(function () { return ''; });}try {$this->display($context);} catch (\Throwable $e) {while (ob_get_level() > $level) {ob_end_clean();}
in
vendor/twig/twig/src/TemplateWrapper.php
->
render
(line 51)
yield from $this->template->yieldBlock($name, $context);}public function render(array $context = []): string{return $this->template->render($context);}/*** @return void*/
in
vendor/twig/twig/src/Environment.php
->
render
(line 333)
* @throws SyntaxError When an error occurred during compilation* @throws RuntimeError When an error occurred during rendering*/public function render($name, array $context = []): string{return $this->load($name)->render($context);}/*** Displays a template.*
in
vendor/symfony/framework-bundle/Controller/AbstractController.php
->
render
(line 459)
if (null !== $block) {return $this->container->get('twig')->load($view)->renderBlock($block, $parameters);}return $this->container->get('twig')->render($view, $parameters);}private function doRender(string $view, ?string $block, array $parameters, ?Response $response, string $method): Response{$content = $this->doRenderView($view, $block, $parameters, $method);
in
vendor/symfony/framework-bundle/Controller/AbstractController.php
->
doRenderView
(line 464)
return $this->container->get('twig')->render($view, $parameters);}private function doRender(string $view, ?string $block, array $parameters, ?Response $response, string $method): Response{$content = $this->doRenderView($view, $block, $parameters, $method);$response ??= new Response();if (200 === $response->getStatusCode()) {foreach ($parameters as $v) {if ($v instanceof FormInterface && $v->isSubmitted() && !$v->isValid()) {
in
vendor/symfony/framework-bundle/Controller/AbstractController.php
->
doRender
(line 278)
* If an invalid form is found in the list of parameters, a 422 status code is returned.* Forms found in parameters are auto-cast to form views.*/protected function render(string $view, array $parameters = [], ?Response $response = null): Response{return $this->doRender($view, null, $parameters, $response, __FUNCTION__);}/*** Renders a block in a view.*
$category = $this->categoryRepository->findOneBy(['slug' => $slug]);/*$queryBuilder = $this->categoryRepository->findByParentCategorySlug($slug);*/$subcategories = $this->categoryRepository->findParentSubCategories($slug);$jobs = $this->jobRepository->findAll();return $this->render('default/parentCategory.html.twig',['category' => $category,'subCategories' => $subcategories,'categories' => $categories,'products' => $paginator, // Paginator object is iterable
in
vendor/symfony/http-kernel/HttpKernel.php
->
categoryProducts
(line 183)
$this->dispatcher->dispatch($event, KernelEvents::CONTROLLER_ARGUMENTS);$controller = $event->getController();$arguments = $event->getArguments();// call controller$response = $controller(...$arguments);// viewif (!$response instanceof Response) {$event = new ViewEvent($this, $request, $type, $response, $event);$this->dispatcher->dispatch($event, KernelEvents::VIEW);
in
vendor/symfony/http-kernel/HttpKernel.php
->
handleRaw
(line 76)
$request->headers->set('X-Php-Ob-Level', (string) ob_get_level());$this->requestStack->push($request);$response = null;try {return $response = $this->handleRaw($request, $type);} catch (\Throwable $e) {if ($e instanceof \Error && !$this->handleAllThrowables) {throw $e;}
in
vendor/symfony/http-kernel/Kernel.php
->
handle
(line 182)
$this->boot();++$this->requestStackSize;$this->resetServices = true;try {return $this->getHttpKernel()->handle($request, $type, $catch);} finally {--$this->requestStackSize;}}
in
vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php
->
handle
(line 35)
) {}public function run(): int{$response = $this->kernel->handle($this->request);if (Kernel::VERSION_ID >= 60400) {$response->send(false);if (\function_exists('fastcgi_finish_request') && !$this->debug) {
in
vendor/autoload_runtime.php
->
run
(line 29)
$app = $app(...$args);exit($runtime->getRunner($app)->run());
<?phpuse App\Kernel;require_once dirname(__DIR__).'/vendor/autoload_runtime.php';return function (array $context) {return new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);};
Logs
| Level | Channel | Message |
|---|---|---|
| INFO 04:08:37 | request |
Matched route "_profiler". {
"route": "_profiler",
"route_parameters": {
"_route": "_profiler",
"_controller": "web_profiler.controller.profiler::panelAction",
"token": "96960f"
},
"request_uri": "http://83.228.213.10/_profiler/96960f",
"method": "GET"
}
|
| DEBUG 04:08:37 | event |
Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\DebugHandlersListener::configure". {
"event": "kernel.request",
"listener": "Symfony\\Component\\HttpKernel\\EventListener\\DebugHandlersListener::configure"
}
|
| DEBUG 04:08:37 | event |
Notified event "kernel.request" to listener "Symfony\UX\Turbo\Request\RequestListener::__invoke". {
"event": "kernel.request",
"listener": "Symfony\\UX\\Turbo\\Request\\RequestListener::__invoke"
}
|
| DEBUG 04:08:37 | event |
Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\ValidateRequestListener::onKernelRequest". {
"event": "kernel.request",
"listener": "Symfony\\Component\\HttpKernel\\EventListener\\ValidateRequestListener::onKernelRequest"
}
|
| DEBUG 04:08:37 | event |
Notified event "kernel.request" to listener "Symfony\Bridge\Doctrine\Middleware\IdleConnection\Listener::onKernelRequest". {
"event": "kernel.request",
"listener": "Symfony\\Bridge\\Doctrine\\Middleware\\IdleConnection\\Listener::onKernelRequest"
}
|
| DEBUG 04:08:37 | event |
Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\SessionListener::onKernelRequest". {
"event": "kernel.request",
"listener": "Symfony\\Component\\HttpKernel\\EventListener\\SessionListener::onKernelRequest"
}
|
| DEBUG 04:08:37 | event |
Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleListener::setDefaultLocale". {
"event": "kernel.request",
"listener": "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::setDefaultLocale"
}
|
| DEBUG 04:08:37 | event |
Notified event "kernel.request" to listener "Symfony\Component\AssetMapper\AssetMapperDevServerSubscriber::onKernelRequest". {
"event": "kernel.request",
"listener": "Symfony\\Component\\AssetMapper\\AssetMapperDevServerSubscriber::onKernelRequest"
}
|
| DEBUG 04:08:37 | event |
Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelRequest". {
"event": "kernel.request",
"listener": "Symfony\\Component\\HttpKernel\\EventListener\\RouterListener::onKernelRequest"
}
|
| DEBUG 04:08:37 | event |
Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelRequest". {
"event": "kernel.request",
"listener": "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::onKernelRequest"
}
|
| DEBUG 04:08:37 | event |
Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleAwareListener::onKernelRequest". {
"event": "kernel.request",
"listener": "Symfony\\Component\\HttpKernel\\EventListener\\LocaleAwareListener::onKernelRequest"
}
|
| DEBUG 04:08:37 | event |
Notified event "kernel.request" to listener "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::configureLogoutUrlGenerator". {
"event": "kernel.request",
"listener": "Symfony\\Bundle\\SecurityBundle\\Debug\\TraceableFirewallListener::configureLogoutUrlGenerator"
}
|
| DEBUG 04:08:37 | event |
Notified event "kernel.request" to listener "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::onKernelRequest". {
"event": "kernel.request",
"listener": "Symfony\\Bundle\\SecurityBundle\\Debug\\TraceableFirewallListener::onKernelRequest"
}
|
| DEBUG 04:08:37 | event |
Notified event "kernel.request" to listener "EasyCorp\Bundle\EasyAdminBundle\EventListener\AdminRouterSubscriber::onKernelRequestPrettyUrls". {
"event": "kernel.request",
"listener": "EasyCorp\\Bundle\\EasyAdminBundle\\EventListener\\AdminRouterSubscriber::onKernelRequestPrettyUrls"
}
|
| DEBUG 04:08:37 | event |
Notified event "kernel.request" to listener "Knp\Bundle\PaginatorBundle\Subscriber\SlidingPaginationSubscriber::onKernelRequest". {
"event": "kernel.request",
"listener": "Knp\\Bundle\\PaginatorBundle\\Subscriber\\SlidingPaginationSubscriber::onKernelRequest"
}
|
| DEBUG 04:08:37 | event |
Notified event "kernel.request" to listener "EasyCorp\Bundle\EasyAdminBundle\EventListener\AdminRouterSubscriber::onKernelRequest". {
"event": "kernel.request",
"listener": "EasyCorp\\Bundle\\EasyAdminBundle\\EventListener\\AdminRouterSubscriber::onKernelRequest"
}
|
| DEBUG 04:08:37 | event |
Notified event "kernel.controller" to listener "EasyCorp\Bundle\EasyAdminBundle\EventListener\AdminRouterSubscriber::onKernelController". {
"event": "kernel.controller",
"listener": "EasyCorp\\Bundle\\EasyAdminBundle\\EventListener\\AdminRouterSubscriber::onKernelController"
}
|
| DEBUG 04:08:37 | event |
Notified event "kernel.controller" to listener "Symfony\Bundle\FrameworkBundle\DataCollector\RouterDataCollector::onKernelController". {
"event": "kernel.controller",
"listener": "Symfony\\Bundle\\FrameworkBundle\\DataCollector\\RouterDataCollector::onKernelController"
}
|
| DEBUG 04:08:37 | event |
Notified event "kernel.controller" to listener "Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::onKernelController". {
"event": "kernel.controller",
"listener": "Symfony\\Component\\HttpKernel\\DataCollector\\RequestDataCollector::onKernelController"
}
|
| DEBUG 04:08:37 | event |
Notified event "kernel.controller_arguments" to listener "Symfony\Component\Security\Http\EventListener\IsCsrfTokenValidAttributeListener::onKernelControllerArguments". {
"event": "kernel.controller_arguments",
"listener": "Symfony\\Component\\Security\\Http\\EventListener\\IsCsrfTokenValidAttributeListener::onKernelControllerArguments"
}
|
| DEBUG 04:08:37 | event |
Notified event "kernel.controller_arguments" to listener "Symfony\Component\Security\Http\EventListener\IsGrantedAttributeListener::onKernelControllerArguments". {
"event": "kernel.controller_arguments",
"listener": "Symfony\\Component\\Security\\Http\\EventListener\\IsGrantedAttributeListener::onKernelControllerArguments"
}
|
| DEBUG 04:08:37 | event |
Notified event "kernel.controller_arguments" to listener "Symfony\Component\HttpKernel\EventListener\CacheAttributeListener::onKernelControllerArguments". {
"event": "kernel.controller_arguments",
"listener": "Symfony\\Component\\HttpKernel\\EventListener\\CacheAttributeListener::onKernelControllerArguments"
}
|
| DEBUG 04:08:37 | event |
Notified event "kernel.controller_arguments" to listener "ContainerLehxsH6\RequestPayloadValueResolverGhost01ca9cc::onKernelControllerArguments". {
"event": "kernel.controller_arguments",
"listener": "ContainerLehxsH6\\RequestPayloadValueResolverGhost01ca9cc::onKernelControllerArguments"
}
|
| DEBUG 04:08:37 | event |
Notified event "kernel.controller_arguments" to listener "Symfony\Component\HttpKernel\EventListener\ErrorListener::onControllerArguments". {
"event": "kernel.controller_arguments",
"listener": "Symfony\\Component\\HttpKernel\\EventListener\\ErrorListener::onControllerArguments"
}
|
Stack Traces 2
|
[2/2]
RuntimeError
|
|---|
Twig\Error\RuntimeError:
An exception has been thrown during the rendering of a template ("Offset must be a positive integer or zero, -15 given") in "default/parentCategory.html.twig" at line 68.
at templates/default/parentCategory.html.twig:68
at Twig\Template->yieldBlock()
(var/cache/dev/twig/f7/f783b9b35df10ac8831d6285d08d003a.php:126)
at __TwigTemplate_880ee39233ba4d2a45fcfb53bedd7a83->doDisplay()
(vendor/twig/twig/src/Template.php:402)
at Twig\Template->yield()
(var/cache/dev/twig/38/38b45de276f9181371e842a7a10b40f1.php:53)
at __TwigTemplate_0bda3080a821b8ab4df6c08433bd1dab->doDisplay()
(vendor/twig/twig/src/Template.php:402)
at Twig\Template->yield()
(vendor/twig/twig/src/Template.php:358)
at Twig\Template->display()
(vendor/twig/twig/src/Template.php:373)
at Twig\Template->render()
(vendor/twig/twig/src/TemplateWrapper.php:51)
at Twig\TemplateWrapper->render()
(vendor/twig/twig/src/Environment.php:333)
at Twig\Environment->render()
(vendor/symfony/framework-bundle/Controller/AbstractController.php:459)
at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->doRenderView()
(vendor/symfony/framework-bundle/Controller/AbstractController.php:464)
at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->doRender()
(vendor/symfony/framework-bundle/Controller/AbstractController.php:278)
at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->render()
(src/Controller/DefaultController.php:386)
at App\Controller\DefaultController->categoryProducts()
(vendor/symfony/http-kernel/HttpKernel.php:183)
at Symfony\Component\HttpKernel\HttpKernel->handleRaw()
(vendor/symfony/http-kernel/HttpKernel.php:76)
at Symfony\Component\HttpKernel\HttpKernel->handle()
(vendor/symfony/http-kernel/Kernel.php:182)
at Symfony\Component\HttpKernel\Kernel->handle()
(vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:35)
at Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run()
(vendor/autoload_runtime.php:29)
at require_once('/var/www/acti-dev/vendor/autoload_runtime.php')
(public/index.php:5)
|
|
[1/2]
Exception
|
|---|
Doctrine\DBAL\Exception:
Offset must be a positive integer or zero, -15 given
at vendor/doctrine/dbal/src/Platforms/AbstractPlatform.php:4382
at Doctrine\DBAL\Platforms\AbstractPlatform->modifyLimitQuery()
(vendor/doctrine/orm/src/Tools/Pagination/LimitSubqueryOutputWalker.php:247)
at Doctrine\ORM\Tools\Pagination\LimitSubqueryOutputWalker->walkSelectStatementWithoutRowNumber()
(vendor/doctrine/orm/src/Tools/Pagination/LimitSubqueryOutputWalker.php:313)
at Doctrine\ORM\Tools\Pagination\LimitSubqueryOutputWalker->addMissingItemsFromOrderByToSelect()
(vendor/doctrine/orm/src/Tools/Pagination/LimitSubqueryOutputWalker.php:261)
at Doctrine\ORM\Tools\Pagination\LimitSubqueryOutputWalker->createSqlWithoutRowNumber()
(vendor/doctrine/orm/src/Tools/Pagination/LimitSubqueryOutputWalker.php:175)
at Doctrine\ORM\Tools\Pagination\LimitSubqueryOutputWalker->getFinalizer()
(vendor/doctrine/orm/src/Query/Parser.php:363)
at Doctrine\ORM\Query\Parser->parse()
(vendor/doctrine/orm/src/Query.php:248)
at Doctrine\ORM\Query->parse()
(vendor/doctrine/orm/src/Query.php:717)
at Doctrine\ORM\Query->getSqlExecutor()
(vendor/doctrine/orm/src/Query.php:257)
at Doctrine\ORM\Query->_doExecute()
(vendor/doctrine/orm/src/AbstractQuery.php:930)
at Doctrine\ORM\AbstractQuery->executeIgnoreQueryCache()
(vendor/doctrine/orm/src/AbstractQuery.php:886)
at Doctrine\ORM\AbstractQuery->execute()
(vendor/doctrine/orm/src/AbstractQuery.php:724)
at Doctrine\ORM\AbstractQuery->getScalarResult()
(vendor/doctrine/orm/src/Tools/Pagination/Paginator.php:127)
at Doctrine\ORM\Tools\Pagination\Paginator->getIterator()
(var/cache/dev/twig/38/38b45de276f9181371e842a7a10b40f1.php:187)
at __TwigTemplate_0bda3080a821b8ab4df6c08433bd1dab->block_body()
(vendor/twig/twig/src/Template.php:446)
at Twig\Template->yieldBlock()
(var/cache/dev/twig/f7/f783b9b35df10ac8831d6285d08d003a.php:126)
at __TwigTemplate_880ee39233ba4d2a45fcfb53bedd7a83->doDisplay()
(vendor/twig/twig/src/Template.php:402)
at Twig\Template->yield()
(var/cache/dev/twig/38/38b45de276f9181371e842a7a10b40f1.php:53)
at __TwigTemplate_0bda3080a821b8ab4df6c08433bd1dab->doDisplay()
(vendor/twig/twig/src/Template.php:402)
at Twig\Template->yield()
(vendor/twig/twig/src/Template.php:358)
at Twig\Template->display()
(vendor/twig/twig/src/Template.php:373)
at Twig\Template->render()
(vendor/twig/twig/src/TemplateWrapper.php:51)
at Twig\TemplateWrapper->render()
(vendor/twig/twig/src/Environment.php:333)
at Twig\Environment->render()
(vendor/symfony/framework-bundle/Controller/AbstractController.php:459)
at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->doRenderView()
(vendor/symfony/framework-bundle/Controller/AbstractController.php:464)
at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->doRender()
(vendor/symfony/framework-bundle/Controller/AbstractController.php:278)
at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->render()
(src/Controller/DefaultController.php:386)
at App\Controller\DefaultController->categoryProducts()
(vendor/symfony/http-kernel/HttpKernel.php:183)
at Symfony\Component\HttpKernel\HttpKernel->handleRaw()
(vendor/symfony/http-kernel/HttpKernel.php:76)
at Symfony\Component\HttpKernel\HttpKernel->handle()
(vendor/symfony/http-kernel/Kernel.php:182)
at Symfony\Component\HttpKernel\Kernel->handle()
(vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:35)
at Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run()
(vendor/autoload_runtime.php:29)
at require_once('/var/www/acti-dev/vendor/autoload_runtime.php')
(public/index.php:5)
|