使用bootstrap datetimepicker在cakephp 3.x中正确保存DateTime
发布时间:2020-12-17 21:24:37  所属栏目:安全  来源:网络整理 
            导读:我正在使用cakephp 3.x,我有一个表单,其中一个字段是日期.在后端我使用的是 mysql. 我在mysql中的字段结构是类型为date的dob. 现在在cakephp 3.x我使用下面的语法来创建输入. echo $this-Form-input('dob',array( 'label' = (__('Date of Birth')),'type' =
                
                
                
            | 
                         
 我正在使用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 AppModelTable;
use CakeORMTable;
use CakeEventEvent;
use ArrayObject;
use CakeI18nTime;
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');
        }
    }
}
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!  | 
                  
