2017-06-08 108 views
0

請爲什麼下面的代碼只保存最後一次迭代?數據庫只保存最後一次迭代,laravel 5.4

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; 
    } 

任何想法?

+0

每次迭代時都必須創建一個新的Lessons對象,否則它將覆蓋最後一個。 – Laerte

回答

0

我認爲代碼必須是這樣的

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; 
    } 
+0

'$ lessons = new Lessons();'寫在前面的行 –

+0

你必須在foreach中寫下來,在每次迭代中創建課程對象,否則你的代碼只會保存最後一個記錄 –

+0

是的!感謝它現在的作品,我不知道我必須在每個迭代 –

相關問題