Я использую FullCalendar и пытаюсь обновить время начала события, когда пользователь перетаскивает событие в моем календаре. Это код, который я использую для обратного вызова eventDrop (https://fullcalendar.io/docs/eventDrop):
alert(info.event.id + ' was dropped on ' + info.event.start);
$.ajax({
url: '/Post/dropPost',
type: 'POST',
data: { 'postSchedule': info.event.start, 'postId' : info.event.id },
});
},
Это работает в той мере, в какой предупреждение показывает правильный идентификатор события и правильное начало дата (в следующем формате: Вт 05 мая 2020 04:36:00). Также вызывается метод '/ Post / dropPost', и переменная postId передается нормально.
Однако, когда он обновляет мою базу данных, postSchedule всегда обновляется как «00:00:00 00:00:00».
Это мой метод dropPost:
public function dropPost()
{
$data=[];
$postSchedule = $_POST['postSchedule'];
$postId = $_POST['postId'];
$droppedPost = new PostModel;
$data['id'] = $postId;
$data['postSchedule'] = $postSchedule;
$droppedPost->save($data);
}
Читая документы FullCalendar, я понял, что даты всегда должны соответствовать стандарту ISO8601: https://fullcalendar.io/docs/date-parsing. Так почему это не переводится в мою базу данных.
Столбец postSchedule в моей базе данных имеет тип DateTime.