对于循环在Laravel控制器中无法正常工作

zah*_*mon 0 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 = $request->activity_title[$i];
    $activity->activity_details = $request->activity_details[$i];

    $activity->save();
}
Run Code Online (Sandbox Code Playgroud)

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

Emi*_*els 7

$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();
}
Run Code Online (Sandbox Code Playgroud)

现在,您只是在每次迭代时覆盖相同的实例,这解释了为什么只剩下最后一个值.