【发布时间】:2012-09-03 00:49:08
【问题描述】:
我已经创建了一个注册表单。 我有 3 个选择框。日月年。 在我的数据库中,我有一列名为“生日”,格式为“日期”。 现在我想将所有三个放在一起并将结果插入数据库。
public function beforeSave($options = array()){
$this->data['User']['Birthday'] = $this->data['User']['Year'] . '-' . $this->data['User']['Month'] .'-' . $this->data['User']['Day'];
return true;
}
但这不起作用:(
这些字段(日、月、年、生日)都没有验证规则。
我该怎么做?
【问题讨论】:
-
概念看起来不错 - 你遇到了什么错误?您是否调试过 $this->data 以查看数据中实际包含的内容?
-
将您的输入更改为 input('User.Birthday.year') 并且对于月份和日期相同。如果 db 中的数据类型为日期,则 cake 应自动将日期输入重新构造为字符串。虽然,为视图重新构建它将不再是自动的。为什么只使用 input('User.Birthday') 并将其类型设置为 date
标签: forms cakephp before-save