我想在laravel的一个表中将一行复制到365行

t9aqgxwy  于 2021-06-15  发布在  Mysql
关注(0)|答案(1)|浏览(489)

我想在一个表中保存一个相同的数据和365条记录。我是新来拉威尔的。
我尝试过replicate(),但没有成功。我在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();
                          }
                       }     
                    }
laik7k3q

laik7k3q1#

我不确定您的代码,但您可以根据自己的需要进行自定义,以便了解:

$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());
    }
}

信用

相关问题