0

可能重复:
CakePHP 2.0 - 使用带有表单助手的 MySQL ENUM 字段来创建选择输入

我的表单中有一个复选框。该复选框在数据库中有一个枚举类型列。如果选中该复选框,我需要在该列中保存 1 否则为 0。

我正在使用 CakePHP 的保存函数来保存所有表单值。当我选中该复选框时,该列更新为 1,但如果我取消选中然后按下提交按钮,它会更新为空值。

如何使用 CakePHP 中的复选框保存枚举类型值?

4

2 回答 2

0

如果您没有定义任何内容,Enum 会将 Null 作为您的列的默认值。更新表定义并将“0”设置为默认值。它会解决你的问题。

于 2012-12-21T09:03:33.507 回答
0

或者您将列类型更改为 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;
}
于 2012-12-21T11:01:13.973 回答