В CakePHP 3.3 я мог бы использовать такое выражение в контроллере:
$this->request->data = array_merge($this->request->query,$this->request->data);
Как я могу добиться того же эффекта, используя новый неизменяемый API-интерфейс http \ request api в торт 3.4 / 3.5?
Так что это довольно плохая практика — переписать (или даже добавить) запрос, так как это то, что отправил клиент — если вы действительно хотите продолжать в том же духе, можно использовать отражение для установки значения … Я упоминал об этом плохая практика?
Как .. действительно плохая практика 🙂
$reflectionClass = new ReflectionObject($this->request);
$reflectionProperty = $reflectionClass->getProperty('data');
$reflectionProperty->setAccessible(true);
$reflectionProperty->setValue($this->request, -YourNewArray-);
Думаю, мне не нужно повторять то, что уже было сказано, но если это избавит вас от проблемы обновления между версиями … это может исправить это.
Других решений пока нет …