douchun5969 2018-05-05 11:17
浏览 285

Yii2:使用ActiveRecord在数据库中重复行

i develop the product module that add product info into product table, i add the button at the top of my page that copy the current product , i want to duplicate the row of that product ( known by id ) in product table , i user activerecord to duplicate data bud the id always set null and my script cannot duplicate data , my script is :

$product_original = Product::findOne($id);
$product_copy = new Product();
$product_copy->attributes = $product_original->attributes
$product_copy->isNewRecord = true;
$product_copy->id = null;
$product_copy->save();

after save product $product->save(); always return false, please help me to solve my problem , thank alot :)

  • 写回答

1条回答 默认 最新

  • dpjuppr1361 2018-05-05 11:41
    关注

    You just need to copy attributes and that's it why are you assigning the $product_copy->isNewrecord and $product_copy->id=NULL;.

    The only reason the record is not saved is due to the validation error before saving the record you can check for errors if not saved

    Just use

    $product_original = Product::findOne($id);
    $product_copy = new Product();
    $product_copy->attributes = $product_original->attributes;
    if(!$product_copy->save()){
      //either print errors or redirect
      print_r($product_copy->getErrors());
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?