2017-07-11 97 views
0

我需要將某個記錄從一個表傳遞到另一個表,但我還需要刪除已複製的記錄。如何使用laravel從一個表複製到另一個表?

使這個複雜的事情是,我需要抓住一堆隨機記錄!

這是我一直在努力在過去2小時:

  $temps = DB::table('temps')->inRandomOrder()->take(3)->get(); 
      foreach ($temps as $temp) { 
       DB::table('videos')->insert(
        [ 
         'idd' => $temp->idd, 
         'title' => '', 

        ] 
       ); 
      } 

      foreach($temps as $temp){ 
       DB::table('temps')->where('idd', '=', $temp->idd)->get()->delete(); 
      } 

      return 'success'; 

如果我只是想插入,沒有問題。

如果我想刪除特定的記錄或整個表,沒問題。

但是,如果我嘗試刪除隨機插入的記錄,則不起作用。我究竟做錯了什麼?

+0

嘗試刪除'得到()'從刪除調用。 'DB :: table('temps') - > where('idd','=',$ temp-> idd) - > delete()' – jfadich

回答

0

執行一個delete()get()方法不正確:

foreach($temps as $temp){ 
    DB::table('temps')->where('idd', '=', $temp->idd)->delete(); 
} 

或無環單查詢:

DB::table('temps')->whereIn('idd', $temps->pluck('idd'))->delete(); 
+0

主席先生,您現在是正確的。謝謝。 – stepbystep

相關問題