I’m implementing a “Clone” button in my application, which should allow to perform the following:
- create a copy of the chosen model;
- redirect to the
createview, whose form field should be populated with the cloned model’s data;
- allow the user edit some fields;
- save the new model.
So far, my
[email protected] method is:
$newModel = $existingModel->replicate();
$newModel->title = "Copy of ".$existingModel->title;
$newModel->created_at = now() // not sure if necessary, or if it'll be changed once the model is stored in the database
return redirect(route('models.create')); // I know this doesn't do what I need
As it is, obviously, nothing gets passed to the
create view, but I can’t find any clue on how to do that.
I have tried adding
->withInput(compact($newModel)) to the
redirect() call, but I don’t see the field being populated.
models.create view, I have set up the form field to use the
old(...) data, if available.
This answer is almost what I need, but it would imply changing every field to check if there is some sort of input other than the
old session data, like this:
<input [other attributes omitted] value="">
Is it the right way to do so, or is there a quicker/more standardized way of proceeding?
from Newest questions tagged laravel-5 – Stack Overflow https://ift.tt/3lEvCuZ