#php #laravel-4 #duplicates #clone #replicate
#php #laravel-4 #дубликаты #клонировать #реплицировать
Вопрос:
как клонировать строку таблицы из одной таблицы в другую я нашел способ создать клон, но не знаю, как вставить его в другую таблицу
У меня есть класс данных и класс продукта, и я хочу клонировать из данных в продукт только одну строку
public function getClone($id) {
$item = Data::find($id);
$clone = $item->replicate();
unset($clone['created_at'],$clone['updated_at']);
$product = new Product;
--> what goes here i tried $product->fill($clone); But i get error:
must be of the type array, object given
return Redirect::to('admin/content')
->with('message', 'Clone Created!!');
}
Ответ №1:
Я решил это, когда вы получаете репликацию строки mysql, вы получаете все внутри строки json, поэтому вам нужно декодировать ее с помощью функции json_decode, прежде чем снова добавлять ее в базу данных, так что вот решение, если у кого-то такая же проблема 🙂
public function getClone($id) {
$item = Data::find($id);
$clone = $item->replicate();
unset($clone['created_at'],$clone['updated_at']);
$data = json_decode($clone, true);
Product::create($data);
return Redirect::to('admin/content')
->with('message', 'Clone Created!!');
}