Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php For循环在Laravel控制器中无法正常工作_Php_Laravel 5 - Fatal编程技术网

Php For循环在Laravel控制器中无法正常工作

Php For循环在Laravel控制器中无法正常工作,php,laravel-5,Php,Laravel 5,我正在将一些输入数据保存到数据库中。使用for循环,我试图将输入数据保存在不同的行中 for ($i=0; $i < $day ; $i++) { $activity->event_id = $request->event_id; $activity->created_by = $id; $activity->index = $request->index[$i]; $activity->activity_title =

我正在将一些输入数据保存到数据库中。使用for循环,我试图将输入数据保存在不同的行中

for ($i=0; $i < $day ; $i++) { 
    $activity->event_id = $request->event_id;
    $activity->created_by = $id;
    $activity->index = $request->index[$i];
    $activity->activity_title = $request->activity_title[$i];
    $activity->activity_details = $request->activity_details[$i];

    $activity->save();
}
for($i=0;$i<$day;$i++){
$activity->event\u id=$request->event\u id;
$activity->created_by=$id;
$activity->index=$request->index[$i];
$activity->activity_title=$request->activity_title[$i];
$activity->activity_details=$request->activity_details[$i];
$activity->save();
}

问题是,它只保存最后一个值。假设day=2,则保存数组第二个索引的信息。忽略第一个索引值。我哪里做错了

在循环中实例化您的
$activity
,例如

for ($i=0; $i < $day ; $i++) { 
    $activity = new Activity();

    $activity->event_id = $request->event_id;
    $activity->created_by = $id;
    $activity->index = $request->index[$i];
    $activity->activity_title = $request->activity_title[$i];
    $activity->activity_details = $request->activity_details[$i];

    $activity->save();
}
for($i=0;$i<$day;$i++){
$activity=新活动();
$activity->event\u id=$request->event\u id;
$activity->created_by=$id;
$activity->index=$request->index[$i];
$activity->activity_title=$request->activity_title[$i];
$activity->activity_details=$request->activity_details[$i];
$activity->save();
}

现在,您只是在每次迭代中覆盖相同的实例,这解释了为什么只保留最后一个值。

似乎您在重用相同的对象$activity,所以它只是使用第二个值的数据更新第一次迭代中写入的行,这就是解决方案。谢谢@EmilePels