Laravel 5.3: 刷新页面后会话销毁值

Laravel 5.3: session destroying value after refresh page

我正在尝试将一些数据存储在 Laravel 的负载基础控制器上,我使用 constructor 来执行此操作并且构造函数成功执行。但是当我在会话中存储值然后下次刷新页面时,相同的会话值显示 null:

namespace App\Http\Controllers;

use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use App\Language;
use Session;
class Controller extends BaseController
{
   use AuthorizesRequests, DispatchesJobs, ValidatesRequests;

    function __construct()
    {
        if(Session::get('phrase') == null)
        {
            Session::put('phrase','test');
            dump(Session::get('phrase'));
        }
    }
}

访问方式:

class DashboardController extends Controller
{
  public function index()
  {
     if(!in_array(Auth::user()->role_id,[1,2])){
         return redirect()->route('orsers.list',['filters'=>'']);
     }
     return view('dashboard.index');
  }

我不明白我哪里错了??

在您的 app/Http/Kernel.php 中重新排列以下中间件组...

protected $middlewareGroups = [
        'web' => [
            \App\Http\Middleware\EncryptCookies::class,
            \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
            \Illuminate\Session\Middleware\StartSession::class,
            \Illuminate\View\Middleware\ShareErrorsFromSession::class,
            \App\Http\Middleware\VerifyCsrfToken::class,
            \Illuminate\Routing\Middleware\SubstituteBindings::class,
        ],

        'api' => [
            'throttle:60,1',
            'bindings',
        ],
    ];

如果您的 $middlewareGroups 已经像这样订购了,请告诉我,我们可以进一步调试。