laravel5.2 フラッシュメッセージ機能が動かない

ネットを見ると

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;

class WelcomeController extends Controller
{
    public function index(Request $request)
    {

        $request->session()->flash('message', 'こんにちは');
        return redirect('test');

    }
}

からの

@if (Session::has('message'))
    {{ Session::get('message') }}
@endif

でOK!的な感じが多い。簡単!いいね!ってんでやってみたけどちっともでない。

調べるとありました。

stackoverflow.com

ふーむー。ミドルウェアかー。意味はまだ分からんけど。 Kernel.phpをみたら

<?php

namespace App\Http;

use Illuminate\Foundation\Http\Kernel as HttpKernel;

class Kernel extends HttpKernel
{
    protected $middleware = [
        \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
    ];

    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,
        ],

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

となってて、僕のroutes.php

<?php

Route::group(['middleware' => 'web'], function () {

    Route::get('/', 'WelcomeController@index');

    Route::get('test', 'TestController@index')->name('test');;
});

となっていたので、

Route::group(['middlewareGroups' => 'web'], function () {

に変更。うまくいきました。