我正在開發一個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的建議,通過調試請求數據來解決這個問題。我正在看一場比賽,因爲你的評論指出我的方向是正確的。 –