Redirect 如何在Zend 2中使用GET查询重定向?

Redirect 如何在Zend 2中使用GET查询重定向?,redirect,get,zend-framework2,routes,Redirect,Get,Zend Framework2,Routes,我可以重定向到可匹配的路由,如$this->redirect()->toRoute('controller',array('action'=>'something','foo'=>'bar'),但我如何附加get查询?我用它来过滤一张桌子。可以在页面上提交筛选器(form get方法),也可以从其他页面链接筛选器(需要添加get查询)。尝试以下操作: 'course' => array( 'type' => 'Segment', 'options' =>

我可以重定向到可匹配的路由,如
$this->redirect()->toRoute('controller',array('action'=>'something','foo'=>'bar')
,但我如何附加get查询?我用它来过滤一张桌子。可以在页面上提交筛选器(form get方法),也可以从其他页面链接筛选器(需要添加get查询)。

尝试以下操作:

'course' => array(
    'type'    => 'Segment',
    'options' => array(
        'route'    => '/course[/:action[/:id]]',
        'constraints' => array(
            'controller' => '[a-zA-Z][a-zA-Z0-9_-]*',
            'action'     => '[a-zA-Z][a-zA-Z0-9_-]*',
            'id' => '\d+'
        ),
        'defaults' => array(
            '__NAMESPACE__' => 'Home\Controller',
            'controller' => 'course',
            'action' => 'index',
            'id' => 0
        ),
    ),
    'may_terminate' => true,
    'child_routes' => array(
        'query' => array(
          'type' => 'Query',
          'options' => array(
            'route' => '?[:filterByDepartment]'
          ),
        ),  
    ),
),
确保路线在视图中满足您的需要:

echo $this->url('course/query', array('controller'=>'course', 'action'=>'index', 'id'=>0, 'filterByDepartment'=>'depA'));
如果这是正确的,让我们在控制器操作中尝试以下操作:

 $this->redirect()->toRoute('course/query', array('controller'=>'course', 'action'=>'index', 'id'=>0, 'filterByDepartment'=>'depA'));

'course'=>array('type'=>'segment','options'=>array('route'=>'/course[/:action[/:id]],'constraints'=>array('action'=>'[a-zA-Z]*','id'=>'[0-9]*'),'defaults'=>array('controller'=>'Home\controller\course','action'=>'index','id'=>0,),'may_terminate'=>true,'child_routes'=>array('query'=>array('type'=>'query','options'=>array('route'=>'?[:filterByDepartment],),),,),,),,,,,),,,,,,,,,,,,,,,,,,,,,,,,,,,
(我也尝试过大写查询)仍然没有路由。从视图中,$this->url()只生成控制器部分(我假设它忽略了操作,因为索引是默认的,但查询也不会出现)