Have you ever needed to duplicate or clone a database record? Laravel provides a very handy function for this called
replicate which will take an Eloquent model and make a copy so you can then make changes and save it.
Here's an example of how you might use this. Let's pretend you have a blog post and you want to make a copy of it to publish again. First grab the original model:
1$post = Post::find(1);
Next, call the replicate method on it:
1$newPost = $post->replicate();
Now, you can make any changes you need to the model and then resave it.
1$newPost->created_at = Carbon::now();2$newPost->save();
All together it would look like this:
1$post = Post::find(1);2$newPost = $post->replicate();3$newPost->created_at = Carbon::now();4$newPost->save();
replicate method is really helpful for quickly cloning or duplicating a database record.