使用bootstrap datetimepicker在cakephp 3.x中正确保存DateTime
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了使用bootstrap datetimepicker在cakephp 3.x中正确保存DateTime,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含958字,纯文字阅读大概需要2分钟。
内容图文
我正在使用cakephp 3.x,我有一个表单,其中一个字段是日期.在后端我使用的是mysql.
我在mysql中的字段结构是类型为date的dob.
现在在cakephp 3.x我使用下面的语法来创建输入.
echo $this->Form->input('dob', array(
'label' => (__('Date of Birth')),
'type' => 'text',
'required' => false,
'class' => 'form-control date'
));
我曾经使用过bootstrap datetimepicker,
$('.date').datetimepicker({
format: 'YYYY-MM-DD'
});
现在,当我提交表格时,我打印了当时的请求数据,我得到了这样的字段
[
....
'dob' => '2016-02-11',
....
]
但是当我保存记录并查看数据库时,它会显示我的随机日期,如2036-10-25
有人可以帮我吗?
解决方法:
这是最终的通用解决方案,
//File : src/Model/Table/PatientsTable.php
namespace App\Model\Table;
use Cake\ORM\Table;
use Cake\Event\Event;
use ArrayObject;
use Cake\I18n\Time;
class PatientsTable extends Table
{
...
...
public function beforeMarshal(Event $event, ArrayObject $data, ArrayObject $options)
{
if (isset($data['dob'])) {
$data['dob'] = Time::parseDate($data['dob'], 'Y-M-d');
}
}
}
内容总结
以上是互联网集市为您收集整理的使用bootstrap datetimepicker在cakephp 3.x中正确保存DateTime全部内容,希望文章能够帮你解决使用bootstrap datetimepicker在cakephp 3.x中正确保存DateTime所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。