Есть ли способ получить данные при обработке на контроллере - Laravel PHP - PullRequest
0 голосов
/ 04 марта 2019

У меня есть функция на контроллере, такая как сканирование.

Мой контроллер иногда спит 10 секунд , иногда уходит.

Например:

 while ($someTrueFalse) {
        $data[]=$gettingdata;

        $wantToPassText="Received ".count($data)." - Sleeping 10 seconds";

        if($someControl){
            $someTrueFalse=false;
        }

        sleep(10);
    }

    return view('any_view');

Как я могу получить доступ к переменной $wantToPassText из любых представлений?

Я пытался,

setcookie('data',$wantToPassText,time()+60);

Но я не могу получить доступ во время обработки контроллера.Я могу получить доступ только после завершения процесса.

Я пытался написать эту базу данных $wantToPassText, но я не могу получить доступ снова во время обработки.

Я имею в виду, я хочу написать на странице живой процессстатус.Как это возможно?

Извините, мой плохой английский ...

1 Ответ

0 голосов
/ 04 марта 2019

Решением может быть сохранение в пределах cache.

Вы можете сохранить значение следующим образом:

Cache::put(['text' => $wantToPassText], 1);

Вторым аргументом является сумма минут для кэширования (по состоянию на Laravel 5.8 теперь это количество секунд).

После выполнения задачи вы можете очистить ключ / значение кэша:

Cache::forget('text');

Примечание: Вы должны обязательно включить фасад в верхней части контроллера:

use Cache
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...