PHPFixing
  • Privacy Policy
  • TOS
  • Ask Question
  • Contact Us
  • Home
  • PHP
  • Programming
  • SQL Injection
  • Web3.0

Friday, March 4, 2022

[FIXED] Laravel populate form with cloned model data

 March 04, 2022     clone, laravel, laravel-5, view     No comments   

Issue

I'm implementing a "Clone" button in my application, which should allow to perform the following:

  1. create a copy of the chosen model;
  2. redirect to the create view, whose form field should be populated with the cloned model's data;
  3. allow the user edit some fields;
  4. save the new model.

So far, my ModelController@clone 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.

In the 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="{{ $newModel['title'] ?? old('title') }}">

Is it the right way to do so, or is there a quicker/more standardized way of proceeding?


Solution

you could overriding the session old input data by:

Session::put('_old_input', $newModel);

and then just render the old() in form inputs



Answered By - Rateb Habbab
  • Share This:  
  •  Facebook
  •  Twitter
  •  Stumble
  •  Digg
Newer Post Older Post Home

0 Comments:

Post a Comment

Note: Only a member of this blog may post a comment.

Total Pageviews

1,260,483

Featured Post

Why Learn PHP Programming

Why Learn PHP Programming A widely-used open source scripting language PHP is one of the most popular programming languages in the world. It...

Subscribe To

Posts
Atom
Posts
Comments
Atom
Comments

Copyright © 2025 PHPFixing