我很抱歉提出这样的问题,我知道以前也有过这样的问题,但我的情况相当......愚蠢。我拥有的是一个项目管理系统,我想显示所有运行良好且由 Symfony 自动生成的项目。在 ProjectController 的同一个控制器中,我做了另一个动作。我想列出所有已完全完成的存档项目。首先,我只是简单地复制粘贴了代码和注释,并更改了函数的路由和名称。这是我的indexAction
功能
/**
* Lists all project entities.
*
* @Route("/", name="project_index")
* @Method("GET")
*/
public function indexAction()
{
$em = $this->getDoctrine()->getManager();
$projects = $em->getRepository('AppBundle:Project')->findAll();
return $this->render('project/index.html.twig', array(
'projects' => $projects,
));
}
Run Code Online (Sandbox Code Playgroud)
这很简单。现在这是我的archiveAction
功能,它是相同的
/**
* Lists all project entities.
*
* @Route("/archive", name="project_archive")
* @Method("GET")
*/
public function archiveAction()
{
$em = $this->getDoctrine()->getManager();
$projects = $em->getRepository('AppBundle:Project')->findAll();
return $this->render('project/index.html.twig', array(
'projects' => $projects,
));
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,我什至没有过滤项目,而是做与我在indexAction
函数中所做的完全相同的事情,并记住两个函数都在同一个控制器中。这是我在尝试显示所有存档项目时收到的错误 -
未找到 AppBundle\Entity\Project 对象。
索引操作工作正常并显示所有项目,但是如果我更改路由并更改函数名称并保持所有内容相同并且它们在同一个控制器中 - 在一种情况下它可以找到 AppBUndle\Entity\Zadanie,但是在另一种情况下 - 它不能。
解决了我设法通过将存档功能放在首位来解决问题。在上面我的意思是在任何其他功能之前的第一个位置。在这样做之前,我尝试切换路线。我从 indexAction 中获取路线并将其放入来自 archiveAction 的注释中,反之亦然。这两个功能都工作得很好。然后我将它们原样归还,存档仍然无效。然后我简单地将存档放在索引之前的第一位,它很有魅力。我不知道刚刚发生了什么以及为什么但是......没关系......它有效。(虽然认真 - 如果有人知道为什么会这样,我会很感激)
编辑:所以 2 年零 4 个月后我想我得到了它的曲柄,路线被缓存所以我所做的只是清除缓存并且它起作用了,但当时我没有注意这个细节
归档时间: |
|
查看次数: |
2243 次 |
最近记录: |