Php 数据库只保存最后一次迭代,laravel 5.4
请问为什么下面的代码只保存最后一次迭代Php 数据库只保存最后一次迭代,laravel 5.4,php,laravel-5.3,Php,Laravel 5.3,请问为什么下面的代码只保存最后一次迭代 foreach($videos as $video) { $filename=$video->getClientOriginalName(); $vidWay=public_path('videos'); $lessons->video=$filename; // echo $filename; $video->move($vidWay,$filename
foreach($videos as $video)
{
$filename=$video->getClientOriginalName();
$vidWay=public_path('videos');
$lessons->video=$filename;
// echo $filename;
$video->move($vidWay,$filename);
$lessons->title=$lesson_titles[$upload_count];
$lessons->course_id=$Course->id;
$lessons->save();
$upload_count++;
// echo $filename;
}
有什么想法吗?我想代码一定是这样的
foreach($videos as $video)
{
$lessons=new App\Lessons()
$filename=$video->getClientOriginalName();
$vidWay=public_path('videos');
$lessons->video=$filename;
// echo $filename;
$video->move($vidWay,$filename);
$lessons->title=$lesson_titles[$upload_count];
$lessons->course_id=$Course->id;
$lessons->save();
$upload_count++;
// echo $filename;
}
您必须在每次迭代时创建一个新的Lessons对象,否则它将覆盖最后一个对象。
$Lessons=new Lessons()
是在前一行中编写的,您必须在foreach中编写它,以便在每次迭代中创建lessons对象,否则您的代码将只保存最后一条记录Yes!!!谢谢,它现在可以工作了,我不知道每次迭代都要调用表,不客气;)例如,如果你想保存6个课程,你必须有6个不同的课程对象,在你的情况下,你有1个课程对象并更新6次