我可以重定向到类似的可匹配路由$this->redirect()->toRoute('controller', array('action' => 'something', 'foo' => 'bar'))
,但是如何附加 get 查询?我将它用于表格的过滤器。过滤器既可以在页面上提交(表单get方法),也可以从另一个页面链接(需要添加get查询)。
问问题
426 次
1 回答
1
尝试这个 :
'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'));
于 2013-01-07T16:28:24.133 回答