我需要将产品的categories
复制到id=15
,并将其应用于其他产品。有什么捷径可以执行复制粘贴操作,而不是获取数组并附加循环吗?
$product = App\Product::find(15);
$product->categories()->attach([1, 5]);
答案 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);