Начиная с 2.3, если у вас есть $ this-> Form-> hidden ('fieldname');Вы можете надежно использовать $ this-> Form-> value ('ModelName.fieldname') для значения поля в форме.Когда представление отображается, так же, как теги ввода html получают значение, основанное на модели, используемой в контроллере и на которую ссылаются в $ this-> Form-create ('ModelName'), при визуализации значения $ this-> Form->('ModelName.fieldname') имеет значение.
В контроллере $ this-> request-> data ['ModelName'] устанавливается в массив данных модели в CakePhp, где ['id'] указывает на значение поля id.
$this->Form->create('ModelName');
$this->Form->input('id');
$this->Form->end();
Соответствует логике контроллера, где $ this-> request-> data [' ModelName '] получает ассоциативный массив, по крайней мере, с "id" =>некоторое значение id в зависимости от данных, считанных из базы данных.
Обратите внимание, что когда вы используете $ this-> Form-> value () для извлечения данных формы, оно будет работать, когда экран первоначально отображается контроллером., но может произойти сбой при повторной визуализации экрана, поскольку не удалось выполнить правило проверки модели, в котором использовалась функция в определении модели.
Чтобы убедиться, что $ this-> Form-> value () является надежной при большем количествелогику строгой проверки модели, используйте $ this-> Форма-> скрытый ( 'FIELDNAME');хранить данные в $ this-> request-> data ['ModelName'] на протяжении нескольких итераций проверки модели.