Php Yii2:数据库中的行与ActiveRecord重复
我开发了将产品信息添加到产品表的产品模块,我在页面顶部添加了复制当前产品的按钮,我想复制产品表中该产品的行(通过id知道),我使用activerecord复制数据,id始终设置为null,我的脚本无法复制数据,我的脚本是:Php Yii2:数据库中的行与ActiveRecord重复,php,activerecord,yii,yii2,Php,Activerecord,Yii,Yii2,我开发了将产品信息添加到产品表的产品模块,我在页面顶部添加了复制当前产品的按钮,我想复制产品表中该产品的行(通过id知道),我使用activerecord复制数据,id始终设置为null,我的脚本无法复制数据,我的脚本是: $product_original = Product::findOne($id); $product_copy = new Product(); $product_copy->attributes = $product_original->attributes
$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();
保存产品$product->save()后;始终返回false,请帮助我解决我的问题,非常感谢:)您只需要复制属性,这就是为什么要分配
$product\u copy->isNewrecord
和$product\u copy->id=NULL代码>
记录未保存的唯一原因是由于保存记录之前的验证错误。如果未保存记录,您可以检查错误
只用
$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());
}
您只需要复制属性,这就是为什么要分配$product\u copy->isNewrecord
和$product\u copy->id=NULL代码>
记录未保存的唯一原因是由于保存记录之前的验证错误。如果未保存记录,您可以检查错误
只用
$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());
}
$product\u copy->getErrors()是什么意思代码>向您展示?什么是$product\u copy->getErrors()代码>给你看?