dmS*_*azi 4 mysql unique laravel eloquent laravel-5
我正在使用 Laravel 的replicate()模型方法来生成现有实例的副本。如果没有要添加的列,它就可以正常工作unique
就我而言,有一些列是唯一的,所以我使用这个
$pr = Products::find(\Input::get('id'))->replicate();
$pr['product_code'] = $pr->product_code . '_'.$pr['id'];
$pr['name'] = $pr->name . '_'.$pr['id'];
$pr->save();
Run Code Online (Sandbox Code Playgroud)
这将确保如果产品被复制一次,它将处理唯一的列问题。但如果再次复制该产品,就会再次出现问题。
我该如何解决这个问题
我将在数据库中设置product_code为name可空值,然后执行如下操作:
$product = Products::find(\Input::get('id'));
$newProduct = $product->replicate(['product_code', 'name']);
$newProduct->save();
$newProduct->product_code = $product->product_code.'_'.$newProduct->id;
$newProduct->name = $product->name.'_'.$newProduct->id;
$newProduct->save();
Run Code Online (Sandbox Code Playgroud)
当然,如果您在多个地方执行此操作,您可以将其包装到一个函数中。
| 归档时间: |
|
| 查看次数: |
2799 次 |
| 最近记录: |