Php 使用JQuery AJAX将JSON数组保存到mysql

Php 使用JQuery AJAX将JSON数组保存到mysql,php,jquery,mysql,json,ajax,Php,Jquery,Mysql,Json,Ajax,我将向我的控制器发送一个json数组以将其保存到数据库中,json数组如下所示 var events = [{ "title": "English Lesson Schedule", "start": "2017-09-17 06:30 AM", "end": "2017-09-17 09:00 AM", "date": "2017-09-17", "student": "1", "teacher": "2", "id": 1 }, { "title": "English Lesson Sche

我将向我的控制器发送一个json数组以将其保存到数据库中,json数组如下所示

var events = [{
"title": "English Lesson Schedule",
"start": "2017-09-17 06:30 AM",
"end": "2017-09-17 09:00 AM",
"date": "2017-09-17",
"student": "1",
"teacher": "2",
"id": 1
}, {
"title": "English Lesson Schedule",
"start": "2017-09-18 09:00 AM",
"end": "2017-09-18 10:30 AM",
"date": "2017-09-18",
"student": "1",
"teacher": "2",
"id": 2
}]
下面是我如何通过jQueryAjax发送它的

$.ajax({
    type: "POST",
    url: pp_return_url,
    data: {
        _token:token,
        "eventsArray": JSON.stringify(events)                   
     },
     success: function(response) {
         console.log(response)
     }
});
下面是我如何在控制器上处理它

 public function payPalTest(Request $request){
    $events = json_decode($request['eventsArray']);

        foreach ($events as $key => $event) {
            $sched[$key] = new Schedule();
            $sched[$key]->student = $event[$key]['student'];
            $sched[$key]->teacher = $event[$key]['teacher'];
            $sched[$key]->lesson_name = $event[$key]['title'];
            $sched[$key]->lesson_date = $event[$key]['date'];
            $sched[$key]->time_start = $event[$key]['start'];
            $sched[$key]->time_end = $event[$key]['end'];
            $sched[$key]->save();
        }
        return response('SUCCESS'); 
}

我的问题是,我的控制器为foreach()提供了一个
无效参数
错误响应。你知道我做错了什么吗?谢谢

好的,我已经找到我的错误了

我没有注意到我试图从数组中的单个对象获取值,因此

 foreach ($events as $key => $event) {
        $sched[$key] = new Schedule();
        $sched[$key]->student = $event[$key]['student'];
        $sched[$key]->teacher = $event[$key]['teacher'];
        $sched[$key]->lesson_name = $event[$key]['title'];
        $sched[$key]->lesson_date = $event[$key]['date'];
        $sched[$key]->time_start = $event[$key]['start'];
        $sched[$key]->time_end = $event[$key]['end'];
        $sched[$key]->save();
    }
我通过将变量
$event
更改为
$events
来修复它,因为
$events
是集合,我循环遍历它并通过索引获取值,所以我这样做了

foreach ($events as $key => $event) {
        $sched[$key] = new Schedule();
        $sched[$key]->student = $events[$key]['student'];
        $sched[$key]->teacher = $events[$key]['teacher'];
        $sched[$key]->lesson_name = $events[$key]['title'];
        $sched[$key]->lesson_date = $events[$key]['date'];
        $sched[$key]->time_start = $events[$key]['start'];
        $sched[$key]->time_end = $events[$key]['end'];
        $sched[$key]->save();
    }

现在它工作了,我可以将它保存在我的数据库中了

好的,我已经找到了我的错误

我没有注意到我试图从数组中的单个对象获取值,因此

 foreach ($events as $key => $event) {
        $sched[$key] = new Schedule();
        $sched[$key]->student = $event[$key]['student'];
        $sched[$key]->teacher = $event[$key]['teacher'];
        $sched[$key]->lesson_name = $event[$key]['title'];
        $sched[$key]->lesson_date = $event[$key]['date'];
        $sched[$key]->time_start = $event[$key]['start'];
        $sched[$key]->time_end = $event[$key]['end'];
        $sched[$key]->save();
    }
我通过将变量
$event
更改为
$events
来修复它,因为
$events
是集合,我循环遍历它并通过索引获取值,所以我这样做了

foreach ($events as $key => $event) {
        $sched[$key] = new Schedule();
        $sched[$key]->student = $events[$key]['student'];
        $sched[$key]->teacher = $events[$key]['teacher'];
        $sched[$key]->lesson_name = $events[$key]['title'];
        $sched[$key]->lesson_date = $events[$key]['date'];
        $sched[$key]->time_start = $events[$key]['start'];
        $sched[$key]->time_end = $events[$key]['end'];
        $sched[$key]->save();
    }

现在它工作了,我可以将它保存在我的数据库中

执行JSON。stringify将JSON转换为字符串。。直接传递json并查看您是否在phpdoing中获得json中的数据。stringify将json转换为字符串。。直接传递json并查看是否使用php获取数据