CakePHP - 保存日期字段时出错

时间:2011-12-29 05:41:42

标签: php cakephp cakephp-1.3

我无法使用CakePHP将日期字段保存到数据库中。

表格列名

[User].[dob]

查看

<?php echo $this->Form->input('dob', array('type'=> 'date', 'label' => FALSE, 'dateFormat' => 'DMY', 'minYear' => date('Y') - 111, 'maxYear' => date('Y'))); ?>

提交表单时出现以下错误 -

2011-12-29 00:33:57调试:注意(8):[C:\ xampp \ htdocs \ dearmemoir \ cake \ libs \ router.php,第1573行]中的数组到字符串转换

此字段是Auth用户模型的一部分。什么想法可能会出错?

2 个答案:

答案 0 :(得分:2)

这行代码为我带来了魔力 -

$this->data['User']['dob'] = date('Y-m-d', strtotime($this->data['User']['dob']));

我现在可以保存数据了!

答案 1 :(得分:0)

我怀疑你在找错了地方。错误消息来自CakePHP路由(router.php) - 也就是您正在使用的重定向URL。

您提供的示例代码看起来是正确的,它几乎完全匹配Cake cookbook

中的示例
echo $this->Form->input('birth_dt', array( 'label' => 'Date of birth', 'dateFormat' => 'DMY', 'minYear' => date('Y') - 70, 'maxYear' => date('Y') - 18 ));

您可以为任何validation errors添加支票。