2015-10-02 2 views
0

Мой драйвер сеанса memcached.Laravel 5.1 сеанс не сохраняется

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

Я нахожусь на Laravel 5.1.

Пожалуйста, помогите мне.

BROADCAST_DRIVER=redis 
CACHE_DRIVER=memcached 
SESSION_DRIVER=memcached 

мой код похож на этот

if ($isEmployee) 
    { 
     event(new AccountUpdated($data)); 
    } 


    Session::flash('notification', 'Account has been updated.'); 

    return redirect()->back(); 

Я использую Socket.io для события и работает отлично

но сообщение вспышки не спасаем.

Если я не запускаю событие, сообщение со вспышкой работает нормально.

+0

Пожалуйста, включите конфигурацию для сессий/кэш и т.д. в вопросе –

+0

спасибо Дэвида. Почему вы думаете, что это не спасение, когда я увольняю событие? –

+0

Нам нужен реальный код для решения проблемы. –

ответ

0

Я не использовал socket.io, и моя догадка - данные, хранящиеся в сеансе с использованием метода flash, будут доступны только во время последующего HTTP-запроса, а затем будут удалены. поэтому, когда вы широко применяете бросок, который является запросом (я верю), тогда флеш-переменная удаляется и в следующем перенаправлении. попробовать with метод удачи

return Redirect::to('user/login')->with('message', 'Login Failed'); 

Если вам нужно сохранить ваши данные вспышки вокруг даже больше запросов, вы можете использовать метод перепрошить, который будет держать все данные вспышки вокруг дополнительного запроса. Если вам нужно только сохранить определенные данные вспышки вокруг, вы можете использовать метод Держит:

$request->session()->reflash(); 

ссылка: http://laravel.com/docs/5.1/session#flash-data