Php For循环在Laravel控制器中无法正常工作
我正在将一些输入数据保存到数据库中。使用for循环,我试图将输入数据保存在不同的行中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 ($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