Zend framework2 如何使用redirect()设置查询参数

Zend framework2 如何使用redirect()设置查询参数,zend-framework2,Zend Framework2,我想在重定向时设置一个查询参数。我试过这个: $this->redirect()->toRoute('login/default', array('action' => 'forgotPassword', 'foo' => 'bar')); 它重定向到: /login/forgotPassword 而不是我想重定向的地方,即: /login/forgotPassword?foo=bar 查询参数属于URL方法的第三个参数 $this->redirect()-&

我想在重定向时设置一个查询参数。我试过这个:

$this->redirect()->toRoute('login/default', array('action' => 'forgotPassword', 'foo' => 'bar'));
它重定向到:

/login/forgotPassword
而不是我想重定向的地方,即:

/login/forgotPassword?foo=bar

查询参数属于URL方法的第三个参数

$this->redirect()->toRoute(
    'login/default', 
    array(
        'action' => 'forgotPassword'
    ),
    array( 'query' => array(
        'foo' => 'bar'
    ))
)
另外

要重定向“访问”或登录,可以使用以下表单:

if (!$controller->identity()) {
  $sm = $controller->getServiceLocator();
  $router = $sm->get('router');
  $request = $sm->get('request');

  $routeMatch = $router->match($request);

  $controller->redirect()->toRoute('login', array(), 
        array( 'query' => 
                array('redir' => $routeMatch->getMatchedRouteName() ) ) );
}
URL将是:
/login/?redir=当前路线

抱歉,忽略我的最后一条评论。它起作用了。我今天真的很累