我开发了将产品信息添加到产品表中的产品模块,我在页面顶部添加了复制当前产品的按钮,我希望在产品表中复制该产品的行(以id表示),我用户activerecord重复数据芽id始终设置为null,我的脚本不能复制数据,我的脚本是:
$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();总是回复假,请帮我解决我的问题,谢谢很多:)
答案 0 :(得分:3)
您只需复制属性即可分配$product_copy->isNewrecord
和$product_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());
}