Zend2:使用查询参数重定向?

时间:2014-01-10 11:10:20

标签: parameters zend-framework2

我有这个:

$this->redirect()->toRoute(
   'edit_person', 
    array(
        'controller' => 'person',
        'action'     => 'edit',
        'id'         => 1,
        'bla'        => '1'
    )
);

我想最终得到这个网址:

person/1/edit?bla=1

换句话说,转换:

'bla'        => '1'

?bla=1

代替标准参数。有可能吗?

2 个答案:

答案 0 :(得分:5)

您可以在Route函数中添加第三个参数,您可以在其中定义查询部分。

$this->redirect()->toRoute(
   'edit_person', 
    array(
        'controller' => 'person',
        'action'     => 'edit',
        'id'         => 1,
    ),
    array(
       'query' => array('bla' => '1'),
    )
);

答案 1 :(得分:0)

$url = $this->url ()
    ->fromRoute ('edit_person', [
    'controller' => 'person',
    'action' => 'edit',
    'id' => 1
]) . '?' . http_build_query ([
    'bla' => 1
]);

return $this->redirect ()
    ->toUrl ($url);