У меня проблема с копированием одной из моих моделей со всеми отношениями.Laravel Eloquent ORM replicate
Структура базы данных выглядит следующим образом:
Table1: products
id
name
Table2: product_options
id
product_id
option
Table3: categories
id
name
Pivot table: product_categories
product_id
category_id
Отношения:
- продукт hasMany product_options
- продукт belongsToMany категории (корыто 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).
Ответ: http://stackoverflow.com/questions/23895126/clone-an-eloquent-object-including-all-relationships#answer-34032304 и этот ответ: http://stackoverflow.com/ вопросы/23895126/clone-an-eloquent-object-including-all-relationship # answer-32775847 работал для меня – haakym
Можете ли вы переместить свой комментарий к ответу, пожалуйста? – Zoli