Laravel 4: репликация в таблицу

#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!!');

}