I\'m attempting to create a url with a query string using a route, like so:
$this->url(\'users\') -> /users
$this->url(\'users\', [\'sort\' => \'
Since version 2.1.4 you come across user error
Query route deprecated as of ZF 2.1.4; use the "query" option of the HTTP router\'s assembling method instead
Usage example:
$name = 'index/article';
$params = ['article_id' => $articleId];
$options = [
'query' => ['param' => 'value'],
];
$this->url($name, $params, $options);
You can create a child route for your users route like this:
'users' => array(
'type' => 'Literal',
'options' => array(
'route' => '/users',
'defaults' => array(
'__NAMESPACE__' => 'User\Controller',
'controller' => 'Index',
'action' => 'list',
),
),
'may_terminate' => true,
'child_routes' => array(
'query' => array(
'type' => 'Query',
),
),
),
then you can assemble $this->url('users/query', array('sort' => 'desc'))
.
Don't forget to set may_terminate
to true
!
This can be done using the current URL view helper yes.
$this->url('users', [], array('query' => array('sort' => 'desc')))
You do not need to have query string child routes setup. As long as you have a route setup for 'users', you can just look for the 'sort' param in your controller and use where required.