可能重复:
CakePHP 2.0-使用MySQL ENUM字段和表单助手创建Select Input
我的表单中有一个复选框。该复选框在数据库中有一列枚举类型。如果选中该复选框,我需要在该列中保存1,否则为0。
我使用CakePHP的save函数来保存所有表单值。当我选中该复选框时,列会更新为1,但如果我取消选中并按下提交按钮,它会更新为空值。
如何在CakePHP中使用复选框保存枚举类型值?
或者将列类型更改为tinyint(0/1((例如在MySQL中(:
ALTER TABLE users CHANGE COLUMN active active tinyint not null default 0;
或者,验证值是否通过(或已检查(,例如:
if($this->request->data['User']['active'] == null) {
$this->request->data['User']['active'] = 0;
}
Enum将使用Null作为列的默认值,如果您没有定义任何内容的话。更新表定义并将"0"设置为默认值。它会解决你的问题。