【发布时间】:2012-01-29 16:00:17
【问题描述】:
我无法使用 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 行] 中的数组到字符串转换]
此字段是身份验证用户模型的一部分。有什么想法可能出了什么问题?
【问题讨论】:
-
我认为你正在连接一个数组,就像它是一个字符串一样。尝试将其替换为
var_dump(...);以查看您真正返回的内容。 -
另外,
date('Y') - 111是一个字符串 - 一个 int,也许试试intval(date('Y')) - 111?不,我的错,它有效! -
啊,我认为发生的事情是一个数组已作为参数传递到您的 args 数组中,而 cake 正试图像字符串一样连接它。
-
我用 1900 替换了 [date('Y') - 111] 仍然看到同样的错误!
-
是的,事实证明 PHP 不会介意那里,但我会尝试这样做:
<?php var_dump( $this->Form->input('dob', array('type'=> 'date', 'label' => FALSE, 'dateFormat' => 'DMY', 'minYear' => date('Y') - 111, 'maxYear' => date('Y'))) ); ?>。这是方法吗:api.cakephp.org/class/form-helper#method-FormHelperinput
标签: php cakephp cakephp-1.3