Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.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 数据库只保存最后一次迭代,laravel 5.4_Php_Laravel 5.3 - Fatal编程技术网

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次