при наличии следующего кода:
<?= $this->Html->link('Foobar', ['?' => ['id' => [1, 2, 3]]] ?>
Вывод следующий:
…id%5B0%5D=1&id%5B1%5D=2&id%5B2%5D=3
похоже, CakePHP использует внутренний метод php http_build_query. как описано в официальном документе, этот метод выводит массив в этом формате:
…id%5B0%5D=1&id%5B1%5D=2&id%5B2%5D=3
Вы пробовали это?
<?= $this->Html->link('Foobar', ['?' => ['id' => ['1,2,3']]] ?>
Я не вижу большого смысла в том, что вы пытаетесь сделать иначе. Просто взорвите() строку на стороне сервера, и вы получите свой массив с менее надежным и длинным URL-адресом.
Думаю, вы пытаетесь или, по крайней мере, так выглядите, отправлять данные формы через get. Очевидно, что ссылка по умолчанию (это ссылка не форма!) Метода HtmlHelper не будет делать этого, потому что вам нужно будет указать дублирующие ключи массива.
Попробуйте использовать метод FormHelper :: postLink() и установите метод для get
. Если это не работает, расширьте форму или HtmlHelper и реализуйте то, что вам нужно, перегружая методы или добавляя новый метод.