Php 参数";id";必须定义

Php 参数";id";必须定义,php,arrays,json,symfony,pimcore,Php,Arrays,Json,Symfony,Pimcore,当我试图访问我的子页面时,这个错误会弹出 The parameter "id" must be defined. > Symfony\Component\DependencyInjection\Exception\ InvalidArgumentException in var/cache/dev/Container6do1xtb/appDevDebugProjectContainer.php (line 4787) appDevDebugProjectContainer->get

当我试图访问我的子页面时,这个错误会弹出

The parameter "id" must be defined.

> Symfony\Component\DependencyInjection\Exception\
InvalidArgumentException
in var/cache/dev/Container6do1xtb/appDevDebugProjectContainer.php (line 4787)
appDevDebugProjectContainer->getParameter('id')
in vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Controller/Controller.php (line 40)
Controller->getParameter('id')
in src/AppBundle/Controller/DefaultController.php (line 22)
//        $paginator->setItemCountPerPage(10);//        $this->view->paginator  = $paginator;    }    public function blogarticleAction(){        $this->view->blogarticle = \Pimcore\Model\DataObject\Blogpost::getById($this->getParameter("id"));    }}
DefaultController->blogarticleAction()
in vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php (line 151)
HttpKernel->handleRaw(object(Request), 1)
in vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php (line 68)
HttpKernel->handle(object(Request), 1, true)
in vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php (line 202)
Kernel->handle(object(Request))
in web/app.php (line 55)
我过去常这样做的代码

default.html.php

<div class="post-preview">
    <a href="<?= $this->path('blogpost', [
                    'id' => $blogpost-> getId(),
                    'title' => $blogpost -> getTitle(),
            ]); ?>">
正则表达式设置:


当然,我在与
default.html.php

相同的文件夹中创建了
blogcarticle.html.php
,使用
$id
来自操作,而不是容器

public function blogarticleAction($id){
     $this->view->blogarticle = \Pimcore\Model\DataObject\Blogpost::getById($id);
}
$this->getParam(“id”)
将在容器中查找名为
id
的参数,这不是您想要的


您应该阅读有关路线参数的说明

看起来您的容器没有定义任何参数
id
id
指的是什么(在控制器中)?它指的是\Pimcore\Model\DataObject\blogpost当我试图进入页面时,它会自动显示生成id 5
$this->getParameter(“id”)
将在容器中查找名为
id
的参数。若它是blogpost id,则必须将其作为actionYep的参数传递。假设这是一个常规的Symfony应用程序(我不确定),那么blogarticleAction($id)就可以做到这一点。
public function blogarticleAction($id){
     $this->view->blogarticle = \Pimcore\Model\DataObject\Blogpost::getById($id);
}