我正在开发一个CakePHP的小应用程序,我需要为一个事件保存一个startdate
和一个enddate
。我与Bootstrap Daterangepicker一起去让用户直观地输入日期。CakePHP的Daterangepicker日期默认为零
在我add.ctp
鉴于我有两个领域:
<div class="form-group">
<?php echo $this->Form->input('start', array(
'class' => 'form-control',
'type' => 'text',
'id' => 'start',
'name' => 'start',
'data-mask')); ?>
</div><!-- .form-group -->
<div class="form-group">
<?php echo $this->Form->input('end', array(
'class' => 'form-control',
'type' => 'text',
'id' => 'end',
'name' => 'end',
'data-mask')); ?>
</div>
和控制输入端的JavaScript:
<script type="text/javascript">
$(function() {
$('input[name="start"]').daterangepicker({
timePicker24Hour: true,
singleDatePicker: true,
timePicker: false,
timePickerIncrement: 30,
locale: {
format: 'YYYY-MM-DD HH:mm:ss'
}
});
$('input[name="end"]').daterangepicker({
timePicker24Hour: true,
singleDatePicker: true,
timePicker: false,
timePickerIncrement: 30,
locale: {
format: 'YYYY-MM-DD HH:mm:ss'
}
});
});
</script>
拣出器工作得很好,它正确地更新字段值,但是当我试图保存表格,将开始字段写入数据库如下:
start 0 000-00-00 00:00:00
末 (空)
的开始和结束字段中的表单数据保存正常,如果我恢复到字段的默认配置。
任何关于我失败的线索将不胜感激。
什么是数据库中的字段类型? –
您使用的是哪个版本的CakePHP?你有没有试过在保存之前调试控制器中的'$ this-> request-> data'内容?您是在变换控制器中的输入字段的值还是在使用任何验证(以及CakePHP3应用程序的情况下)规则? –
@PradeepSingh,这些字段是日期时间。我正在将字符串传递给数据库。根据Oops D'oh的建议,通过调试请求数据来解决这个问题。我正在看一场比赛,因为你的评论指出我的方向是正确的。 –