Я разрабатываю небольшое приложение с CakePHP, и мне нужно сохранить startdate
и enddate
для события. Я пошел с Bootstrap Daterangepicker, чтобы пользователи могли визуально вводить даты.Дата Daterangepicker по умолчанию равна нулю в CakePHP
В моей 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>
Початкоотделитель работает просто отлично, он обновляет значения полей правильно, но когда Я пытаюсь сохранить форму, поле начала записывается в базу данных следующим образом:
начало 0 000-00-00 00:00:00
конец (нуль)
данные форм для начальных и конечных полей сохраняется должным образом, если я возвращаюсь к конфигурации по умолчанию полей.
Любые подсказки относительно того, где я сбой, будут высоко оценены.
что тип поля в базе данных? –
Какая версия CakePHP вы работаете? Вы пытались отладить содержимое '$ this-> request-> data' в контроллере перед сохранением? Преобразуете ли вы значение поля ввода в контроллер или используете ли вы какую-либо проверку (и в случае приложений CakePHP3)? –
@PradeepSingh, поля datetime. Я передавал строки в базу данных. Выяснил это, отладив данные запроса, как советовал Oops D'oh. И я смотрю на гонку, потому что оба ваши замечания указывали мне в правильном направлении. –