Php 如何在Symfony中正确重定向?
我有一个创建多个数据库条目的路由。创建之后,我希望转发到一个路由,该路由获取并显示这些条目 这是获取/显示的路径:Php 如何在Symfony中正确重定向?,php,symfony,redirect,Php,Symfony,Redirect,我有一个创建多个数据库条目的路由。创建之后,我希望转发到一个路由,该路由获取并显示这些条目 这是获取/显示的路径: /** * @Route("/admin/app", name="appTourOverview") */ public function appTourOverviewAction(Request $request) { $em = $this->getDoctrine()->getManager();
/**
* @Route("/admin/app", name="appTourOverview")
*/
public function appTourOverviewAction(Request $request)
{
$em = $this->getDoctrine()->getManager();
/* Get Network for User */
$network = $this->getUser()->getNetwork();
$tours = $em->getRepository('AppBundle:Tour')->toursTodayByNetwork($network);
return $this->render(':app:index.html.twig', array(
'tour' => $tours,
'imagePath' => Constants::IMAGE_PATH_DEV,
'imagePathGreen' => Constants::IMAGE_PATH_DEV_GREEN,
'imagePathYear' => Constants::IMAGE_PATH_DEV_YEAR,
));
}
这就是我从“数据库路由”重定向的方式:
return$this->redirectToRoute('appTourOverview',array(),301)代码>但是这会被缓存,并且数据库条目永远不会被创建
我试过:
我复制了“显示路径”中的所有内容,并让它立即返回数据库内容
/* Get Network for User */
$network = $this->getUser()->getNetwork()->getId();
$tours = $em->getRepository('AppBundle:Tour')->toursTodayByNetwork($network);
return $this->render(':checker:index.html.twig', array(
'tour' => $tours,
'imagePath' => Constants::IMAGE_PATH_DEV,
'imagePathGreen' => Constants::IMAGE_PATH_DEV_GREEN,
'imagePathYear' => Constants::IMAGE_PATH_DEV_YEAR,
));
而不是重定向。不幸的是,这只在刷新后才起作用?($tours
第一次为空)
有什么想法吗?重定向301
意味着页面被永久移动,这些信息现在将缓存在浏览器中。请将该参数更改为302
或仅删除(这不是必需的)。然后,不幸的是,您需要删除浏览器的缓存,它应该可以工作
302
表示重定向是临时的,浏览器不会缓存它 重定向301
意味着页面已被永久移动,此信息将立即缓存在浏览器中。请将该参数更改为302
或仅删除(这不是必需的)。然后,不幸的是,您需要删除浏览器的缓存,它应该可以工作
302
表示重定向是临时的,浏览器不会缓存它 例如,您是否启用了HTTP缓存?或者是否使用其他缓存?请尝试删除重定向的参数和状态代码。默认状态代码为302,该代码可能会触发一些事件<代码>返回$this->redirectToRoute('appTourOverview')代码>例如,您是否启用了HTTP缓存?或者是否使用其他缓存?请尝试删除重定向的参数和状态代码。默认状态代码为302,该代码可能会触发一些事件<代码>返回$this->redirectToRoute('appTourOverview')代码>我明白了,但它不是真正的“临时”行为,因为它是预期的行为?我现在用这个,但我觉得你的也不错,所以谢谢你!临时方法-不缓存。没别的:)我明白了,但这并不是真正的“临时”行为,因为这是预期的行为?我现在用这个,但我觉得你的也不错,所以谢谢你!临时方法-不缓存。没有别的了:)