Использование помощника по формам CakePHP для создания флажка достаточно просто;использовать пример из документации:
echo $this->Form->checkbox('done',array('value' => 555));
Это создаст следующий HTML:
<input type="hidden" name="data[User][done]" value="0" id="UserDone_" />
<input type="checkbox" name="data[User][done]" value="555" id="UserDone" />
Это все хорошо, и скрытое поле служит для принудительной отправкизначение для поля «done», даже если поле не отмечено.
Теперь, в качестве аргумента, допустим, определение базы данных этого поля равно ENUM('yes','no')
.Конечно, я могу легко изменить значение флажка на «да».Однако, если он не отмечен, значение «0» передается из скрытого элемента.Это не приводит к ошибке или предупреждению из mysql, так как 0 всегда является допустимым значением для поля enum;это выглядит как пустая строка.
Могу ли я изменить значение скрытого поля, которое генерирует CakePHP (на «нет»), или мне нужно подавить автогенерацию и создать скрытое поле самостоятельно?(Раздражение растет с ростом числа флажков.)
Я считаю, что все это относится и к группам переключателей - по крайней мере, если у них нет выбора по умолчанию.
I 'м с использованием CakePHP 1.3.Спасибо.