如何使用laravel从一个表复制到另一个表?

时间:2017-07-11 22:08:00

标签: php 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';

如果我只想插入,没问题。

如果我想删除特定记录或整个表格,没问题。

但是,如果我尝试删除随机插入的记录,则无效。我做错了什么?

1 个答案:

答案 0 :(得分:0)

delete()方法后执行get()不正确:

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

或没有循环的单个查询:

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