我在控制器中使用redirectToRoute,我想知道如何在该方法中传输URL参数(redirectToRoute)?
我已经在网上搜索了(SF文档和论坛),但没有找到解决方案。
谢谢。
让我们看看这个方法的来源:
/**
* Returns a RedirectResponse to the given route with the given parameters.
*
* @param string $route The name of the route
* @param array $parameters An array of parameters
* @param int $status The status code to use for the Response
*
* @return RedirectResponse
*/
protected function redirectToRoute($route, array $parameters = array(), $status = 302)
{
return $this->redirect($this->generateUrl($route, $parameters), $status);
}
正如您所看到的,第二个参数是$parameters
。
所以只需将它们作为数组作为第二个参数传递即可。所以它应该像这样使用:
$this->redirectToRoute('show_page', array('id' => 123));
代码示例:
// Get URL parameter :
$urlParam = $request->query->get('url-param') ;
// Transfer parameter
$urlParameters[ "url-param" ] = $urlParam ;
return $this->redirectToRoute("eqt_search", $urlParameters) ;
执行数组的新方法也同样有效。
return $this->redirectToRoute('routename',[
'param1' => $param1,
]);
输出将执行一个查询字符串。
routename?param1=数据