我想在Laravel的一张表中将一行复制到365行中

时间:2019-01-09 08:19:48

标签: php mysql ajax laravel

我想用一张表中的365条记录保存一个相同的数据。我是Laravel的新手。

我已经尝试过copy(),但是没有成功。我在Apache服务器上尝试使用Laravel5.7。 我的控制器

                       public function price_save(Request $request)
                       {


                          $price=new Price();
                          $price->price=$request->price;
                          $price->extra_bed=$request->extra_bed;
                          $price->room_id=$request->room;
                          $id=$request->room;
                          $price = Price::find($id);
                          if(null !== $price){
                          $new = $price->replicate();
                          if(null !== $new){
                          $new->push();
                          // $price->save();
                          }
                       }     
                    }  

1 个答案:

答案 0 :(得分:0)

我不确定您的代码,但是您可以根据需要自定义它,只是为了获得想法:

$model = User::find($id);

$model->load('invoices');

$newModel = $model->replicate();
$newModel->push();


foreach($model->getRelations() as $relation => $items){
    foreach($items as $item){
        unset($item->id);
        $newModel->{$relation}()->create($item->toArray());
    }
}

Credits