gpt4 book ai didi

php - Symfony 错误 - 找不到对象

转载 作者:行者123 更新时间:2023-12-01 12:20:36 24 4
gpt4 key购买 nike

我很抱歉问这样的问题,我知道以前有过这样的问题,但我的情况相当……愚蠢。我拥有的是一个项目管理系统,我想显示所有工作正常且由 Symfony 自动生成的项目。在与 ProjectController 相同的 Controller 中,我做了另一个 Action 。我想列出所有已完全完成的存档项目。一开始,我只是简单地复制粘贴了代码和注释,并更改了路由和函数名称。这是我的 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,
));
}

它尽可能简单。现在这是我的 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,
));
}

到目前为止,我什至没有过滤项目,但做的事情与我在 indexAction 函数中所做的完全相同,请记住这两个函数都在同一个 Controller 中。这是我在尝试显示所有存档项目时收到的错误 -

AppBundle\Entity\Project object not found.

索引操作工作正常并显示所有项目,但如果我更改路由并更改函数名称并保持所有内容相同并且它们在同一个 Controller 中 - 在一种情况下它可以找到 AppBUndle\Entity\Zadanie,但在另一种情况下 - 它不能。

最佳答案

已解决 我设法通过将存档功能放在首位来解决问题。在顶部我的意思是在任何其他功能之前的第一位置。在这样做之前,我尝试切换路线。我从 indexAction 获取路由并将其放在 archiveAction 和相反的注释中。这两个功能都工作得很好。然后我按原样归还了它们,存档仍然不起作用。然后我简单地将存档放在索引之前的第一位,它就像一个魅力。我不知道刚刚发生了什么以及为什么但是......没关系......它有效。 (虽然认真 - 如果有人知道这是为什么,我将不胜感激)

编辑:所以 2 年零 4 个月后,我想我明白了,路由被缓存了,所以我所做的只是清除缓存并且它起作用了,但当时我没有注意这个细节

关于php - Symfony 错误 - 找不到对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44497263/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com