dimanche 29 octobre 2017

Copy one row from one table to another

I need a little help and I can’t find an answer. I would like to replicate a row from one data table to another. My code is:

public function getClone($id) {
 $item = Post::find($id);
 $clone = $item->replicate();
 unset($clone['name'],$clone['price']);
 $data = json_decode($clone, true);
 Order::create($data);

 $orders = Order::orderBy('price', 'asc')->paginate(5);
 return redirect ('/orders')->with('success', 'Success');
}

and i got an error :

"Missing argument 1 for App\Http\Controllers\OrdersController::getClone()"

. I have two models: Post and Order. After trying to walk around and write something like this:

public function getClone(Post $id) {
...
}

I got another error

Method replicate does not exist.

Where‘s my mistake? What wrong have i done? Maybe i should use another function? Do i need any additional file or code snippet used for json_decode ?



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire