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()只生成控制器部分(我假设它忽略了操作,因为索引是默认的,但查询也不会出现)