Laravel Eloquent ORM Replicate
2022-08-30 21:06:55
我在复制具有所有关系的模型之一时遇到问题。
数据库结构如下:
Table1: products
id
name
Table2: product_options
id
product_id
option
Table3: categories
id
name
Pivot table: product_categories
product_id
category_id
关系包括:
- 产品有多种product_options
- 产品属于多个类别(槽product_categories)
我想克隆具有所有关系的产品。目前这是我的代码:
$product = Product::with('options')->find($id);
$new_product = $product->replicate();
$new_product->push();
foreach($product->options as $option){
$new_option = $option->replicate();
$new_option->product_id = $new_product->id;
$new_option->push();
}
但这不起作用(关系没有被克隆 - 目前我只是试图克隆product_options)。