复制产品类别

时间:2019-04-30 12:59:20

标签: php laravel laravel-5

我需要将产品的categories复制到id=15,并将其应用于其他产品。有什么捷径可以执行复制粘贴操作,而不是获取数组并附加循环吗?

$product = App\Product::find(15);   
$product->categories()->attach([1, 5]);

2 个答案:

答案 0 :(得分:1)

$product = App\Product::find(15);
$newProduct = $product->replicate();
$newProduct->save();

和关系

$newProduct->categories()->attach($product->categories);

答案 1 :(得分:1)

如果我对您的需求有很好的了解,则希望将与id = 15产品关联的相同类别附加到另一产品。

$product = App\Product::find(15);

获取关注产品后,我可以通过调用与该产品相关的类别集合中的Array来获取该产品所属类别的{strong> ids 中的pluck < / p>

$categories_id = $product->categories()->pluck('id'); // [1,2,3,4,5] 

如果要附加其类别的第二个产品具有id = 5,我可以像这样执行复制

$otherProduct = App\Product::find(5);

$otherProduct->categories()->sync($categories_id);