「アラート」テーブルから「アラート数」を取得するためのコードを記述しています。「/layouts/app.blade.php」に明らかに表示されているアラート数をメニューに表示したいとします。Laravel 5.4のすべてのページでセッションデータを更新およびアクセスする方法は?
/vendor/laravel/framework/src/Illuminate/Foundation/Auth/AuthenticatesUser.php
protected function sendLoginResponse(Request $request)
{
/*** I have added the session here ***/
$request->session()->regenerate();
$count = DB::table('alerts')
->where('acknowledged', 1)
->count();
$request->session()->put('count_alert', $count);
/***** END's here ******/
$this->clearLoginAttempts($request);
return $this->authenticated($request, $this->guard()->user())
?: redirect()->intended($this->redirectPath());
}
私は/resources/views/layouts/app.blade.php
でそのセッションを示しています。このために私は、ユーザーがログインするには以下のような既存のセッションにセッションデータを追加していた後のようなセッションを使用しています$value = Session::get('count_alert');
<a href="{{ url('/alerts') }}"> echo ' ('.$value.') '; </a>
ITSは今まで正常に動作しますが、ユーザがアラートを更新した場合、その後、その後変更されます数える私はそれはそれはapp.blade.phpファイルのレイアウトに示さなければならないためとして、アプリケーション全体を通してカウントを維持しなければなりません。 ページリフレッシュの手段そのセッションを更新し、メニュー(ヘッダー)に表示する必要があります。どんな助けもありがとう。ありがとう。
感謝を行うことができますが、これはまさにあなたが唯一のルートのためのソリューションを言ったので、私は望んでいた答えが、私はすべてのルートのためにそれをしたい、アプリケーション全体ですべてのページではありません。 –
この場合、ミドルウェアが解決策です。同じ機能を持つミドルウェアをセットアップして、このミドルウェアを任意の数のルートに追加することができます –
ありがとう、しかし私は理解しませんでした。私は簡単にミドルウェアについて少し知っている。簡単に説明することができますか? –