Laravel 5

Question sur les Session et les array

  • Avatar de Vable
    Membre depuis :
    12/02/2016
    Messages :
    16

    Hello !
    Dans le cadre d'un formulaire multi étape, je stocke les données du $request->all() en session, dans un tableau sous cette forme :

    Form
    array:1 [
    td77 => array:5 [
    "input1" => "contenu 1"
    "input" => "contenu 2"
    "input3" => "contenu 3"
    "input4" => "contenu 4"
    "input5" => "contenu 5"
    ]

    Lorsque l'on valide une étape (aller à la suivante ou retour à la précédente), j'aimerais que les données s'ajoutent à la suite sans écraser celles déjà présentes.

    Form
    array:1 [
    td77 => array:5 [
    "input1" => "contenu 1"
    "input2" => "contenu 2"
    "input3" => "contenu 3"
    "input4" => "contenu 4"
    "input5" => "contenu 5"
    "input6" => "contenu 5"
    "input7" => "contenu 7"
    ....
    ]

    Le problème est que je n'ai pas vraiment trouvé de solution... Le put() écrase tout, le push() ajoute un tableau dans le tableau existant et sans prendre en considération les champs déjà présents... Est-ce que quelqu'un aurait une idée de comment je pourrais réaliser ce genre de chose ?
    Merci de votre aide :D

  • Avatar de F.M.
    Membre depuis :
    10/07/2017
    Messages :
    26

    Comment tu stockes les données en session ? array_merge t'as essayé ?

  • Avatar de Vable
    Membre depuis :
    12/02/2016
    Messages :
    16

    Bon sang... Honte à moi je n'ai même pas pensé au array_merge.... ça devient grave là.
    Du coup, j'ai procédé comme suit :

    if(!Session::get('edit.'.$request->id) == null) {
    Session::put('edit.'.$request->id, array_merge(Session::get('edit.'.$request->id), $request->except(['_token'])));
    } else {
    Session::put('edit.'.$request->id,$request->all());
    }

    Merci à toi :)

Vous ne pouvez pas répondre à ce sujet.