2

0使用 CakePHP 1.3如果表单字段中没有写入任何内容,我想为字段保存一个值。最好的方法是仅在 MySQL 中执行此操作,但没有成功。我试图设置:

Null=noDefault= 0; 或Null=yesDefault= 0;

此外,这两种组合都结合了 CakePHP Behavior 设置为beforeSaveor beforeValidate

$model->data[$name][$field] = 0; 或者 unset($model->data[$name][$field]);

还有:

Null=yesDefault= 0; 或Null=yesDefault= NULL;

始终查询是:

 INSERT INTO `table` (`zero_field`, `other_fields`) VALUES (NULL, 'other_data')
 or
 INSERT INTO `table` (`zero_field`, `other_fields`) VALUES ('', 'other_data')

如果Null=no出现错误:Column 'zero_field' cannot be null

即使我取消设置该字段,我也会得到包含该字段的查询。

0如果表单中的值未设置或为空,我应该如何在数据库中保存值?

zero_field是_int(11)

4

1 回答 1

0
  1. 为数据库中的字段设置 null = no, default = 0
  2. 清除 app/tmp/cache/models/* 中的模型缓存文件
  3. 确保在保存新记录之前使用 Model->create() ,以便使用默认值填充要保存的新记录。
  4. 保存并获胜。
于 2012-11-19T12:19:11.893 回答