Я думаю, что, вероятно, входные имена в вашем HTML неверны или генерируются неправильно (если вы используете помощник по форме). Дважды проверьте ваш HTML (посмотрите исходный код в браузере).
Данные, хранящиеся в переменной Controller :: data, берутся из значений POST, где имя входа начинается с данных. Поэтому этот тег ввода будет иметь значение в $ this-> data ['Anything'] ['Something']:
<input type="text" name="data[Anything][Something]" />
Когда вы используете помощник по формам и делаете это:
<?php echo $form->input( 'Something' ); ?>
Помощник по форме достаточно умен, чтобы знать, какую модель вы используете (я думаю, потому что он устанавливает атрибут при вызове $ form-> create ('Modelname')). Таким образом, приведенный выше пример (PHP / form helper) выведет:
<input type="text" name="data[Modelname][Something]" ... />
Конечно, есть несколько предостережений (имя модели. Что-то должно быть полем, существующим в соответствующей таблице базы данных), но вы можете узнать больше, посмотрев руководство.
И, наконец, я считаю, что атрибут $ this-> params ['form'] имеет все значения POSTed, независимо от того, добавили ли вы перед входным именем «data».