2016-07-25 34 views
2

コントローラでredirectToRouteを使用していますが、を知りたいのですが、このメソッドでURLパラメータを転送するにはどうすればいいですか?(redirectToRoute)?symfony 3、redirectToRouteメソッドでURLパラメータを転送する方法

私はすでにWeb上で検索していますが(SFのドキュメントとフォーラム)、解決策が見つかりませんでした。

ありがとうございました。

答えて

3

のは、このメソッドのソースに見てみましょう:

/** 
* 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); 
} 

を使用すると、2番目の引数は$parametersで見ることができるように。

したがって、単に2番目の引数として配列として渡します。配列を行うための新しい方法は、同様に動作

// Get URL parameter : 
$urlParam = $request->query->get('url-param') ; 

// Transfer parameter 
$urlParameters[ "url-param" ] = $urlParam ; 
return $this->redirectToRoute("eqt_search", $urlParameters) ; 
+0

ありがとう@dragoste! –

0

コードのサンプル:ようなので、それを使用する必要があります。

return $this->redirectToRoute('routename',[ 
     'param1' => $param1, 
    ]); 

出力にはクエリ文字列が使用されます。

routename?param1 = data

0

$this->redirectToRoute('show_page', array('id' => 123)); 
関連する問題