Передача массива данных формы из одной функции в другую функцию в том же контроллере - PullRequest
0 голосов
/ 22 мая 2019

У меня есть многомерный массив, содержащий данные из формы, и мне нужен этот массив в другом контроллере того же контроллера, чтобы продолжить работу с ним, но я не знаю, как мне это сделать.

Массив может выглядеть следующим образом:

array [
    "absender" => "Maxim Ivan",
    "email" => "maximivan@example.com",
    "telefon" => "1234567890",
    "fax" => null,
    "grund" => "Gehaltserhöhung",
    "termin" => [
        0 => [
            "person" => "Some Name",
            "meeting" => "10.05"  
        ],
        1 => [
            "person" => "Another Name",
            "meeting" => "18.05"  
        ],
        2 => [
            "person" => "Again another name",
            "next-possible-meeting" => "1"  
        ],
        3 => [
            "person" => "And again",
            "next-possible-meeting" => "1"  
        ],
    ],
    "bemerkung" => "some notes by Maxim"
]

Этот массив создается (и проверяются входные данные) в store -методе TerminController.
Этот метод возвращает представление, в котором все эти данные отображаются снова, чтобы пользователь мог проверить информацию и затем мог добавить документ.

Когда документ добавляется и данные отправляются с помощью кнопки ввода, вызывается upload -метод в том же контроллере.

И вот где мне нужен массив с данными формы, чтобы продолжать работать с ним.

Но как мне добиться передачи массива до следующей функции, которая вызывается только с помощью кнопки ввода.

Первый подход состоял в том, чтобы сохранить массив в сеансе, который даже работал, хотя это было трудно из-за многомерности; но это действительно ужасное решение.

Должен ли я сохранить входные данные в базе данных в методе store и извлечь их снова в методе upload?

Или можно как-то передать массив через контроллеры / сделать его доступным в upload -Контроллере, даже если он создается в другом?

Я также что-то слышал об использовании serialize() и unserialize(), но я не совсем уверен, как это могло бы помочь мне ..

Или, может быть, есть другое и даже лучшее решение, о котором я просто не думаю? Я был бы признателен за любую помощь, которую я могу получить.

Массив меняется, он может быть 17 массивами, вложенными в 'termin', но я также могу быть только одним.

1 Ответ

1 голос
/ 22 мая 2019

Вы можете сохранить его в кэше :

Cache::put('multiArray', $multiArray); //put array in cache
$array = Cache::get('multiArray'); //retreive from cache
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...