将事件开始日期从FullCalendar更新到我的数据库中会在00:00:00

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将事件开始日期从FullCalendar更新到我的数据库中会在00:00:00相关的知识,希望对你有一定的参考价值。

我正在使用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 ,
        );
       ,

这与警报显示正确的事件ID和正确的开始日期一样有效(采用以下格式:Tue May 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类型。

答案

您能否检查jquery ajax发送的postSchedule的数据类型。我认为ajax将postSchedule发送为字符串。

以上是关于将事件开始日期从FullCalendar更新到我的数据库中会在00:00:00的主要内容,如果未能解决你的问题,请参考以下文章

基于日期开始和结束,在FullCalendar上重复事件

如何使用 laravel 在 jquery fullcalendar 中存储拖动的事件

从 MySQL 获取和显示 Vue.js Fullcalendar 上的事件

在Vue FullCalendar SFC中拖动外部事件

jQuery fullCalendar删除document.ready上的旧事件

日期设置 fullCalendar