Laravel 5 Replicate()处理具有唯一属性的列

dmSherazi

我正在使用laravel的replicate()Model方法来生成现有实例的副本。如果没有任何列将工作正常unique

就我而言,有些列是唯一的,所以我使用了

    $pr = Products::find(\Input::get('id'))->replicate();
    $pr['product_code'] = $pr->product_code . '_'.$pr['id'];
    $pr['name'] = $pr->name . '_'.$pr['id'];
    $pr->save();

这将确保如果产品被复制一次,它将处理唯一列问题。但是,如果再次复制产品,将再次导致问题。

我该如何解决这个问题

马尔辛·纳比亚列克(MarcinNabiałek)

我会在数据库中设置product_codename为nullables,然后做这样的事情:

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

当然,您可以将其包装到一个函数中,以防您在多个位置执行该操作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Laravel 5 Replicate()处理具有唯一属性的列

来自分类Dev

Laravel 5选择唯一的列

来自分类Dev

删除唯一索引Laravel 5

来自分类Dev

Laravel 5多表唯一验证

来自分类Dev

Laravel 5插入具有属性的数据透视表

来自分类Dev

Laravel 5错误处理

来自分类Dev

Laravel 5 API - 处理数组

来自分类Dev

Laravel 5 Redirect :: to具有多个参数

来自分类Dev

带有laravel 5的CURDATE()

来自分类Dev

laravel 5更换有两列

来自分类Dev

Laravel 5唯一验证不起作用

来自分类Dev

Laravel 5验证:检查例外邮件的唯一规则

来自分类Dev

Laravel 5唯一验证不起作用

来自分类Dev

基于id创建唯一ID mysql Laravel 5

来自分类Dev

在Laravel 5中同步处理Queue:push()

来自分类Dev

laravel 5中的登录事件处理

来自分类Dev

Laravel 5:处理动态和静态路由

来自分类Dev

laravel 5在哪里处理ValidationException?

来自分类Dev

Laravel 5-如何处理MethodNotAllowedHttpException

来自分类Dev

Laravel 5事件处理程序未触发

来自分类Dev

在Laravel 5中插入批处理

来自分类Dev

Laravel 5命令和处理程序问题

来自分类Dev

Laravel 5如何处理模型的冲突

来自分类Dev

在Laravel 5中处理大量数据

来自分类Dev

错误试图在Laravel 5中获取具有关系和范围的非对象的属性

来自分类Dev

Laravel 5:尝试获取具有关系的非对象错误的属性

来自分类Dev

Laravel 5:其他模型的访问属性

来自分类Dev

Laravel 5从刀片中的集合获取属性

来自分类Dev

Laravel 5转换验证属性