非常基本的事情正在进行。使用Session Flash
消息来显示任何成功/错误消息。
所有路由都设置在我的'middleware' => 'web'
组中。
现在是我的问题。->flash()
不工作,而->put()
工作。
控制器:
$request->session()->flash('alert-success', 'My flash message');
刀片:
@foreach (['danger', 'warning', 'success', 'info'] as $msg)
@if(Session::has('alert-' . $msg))
<p class="alert alert-{{ $msg }}">{{ Session::get('alert-' . $msg) }} <a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>
</p>
@endif
@endforeach
Laravel 5文档中所述的return redirect('routeHere')->with('alert-success', 'My flash message');
也不起作用。
编辑
Laravel 5.2会话flash即使使用web中间件复制也无法工作。使用['middlewareGroups' => 'web']
而不是['middleware' => 'web']
确实解决了问题,但假设这不是解决问题的方法。
出于好奇四处搜索后,我注意到laravel version >= 5.2.27
有一个有趣的更新,默认情况下,该更新将web中间件组应用于routes.php中定义的所有路由。
现在,这让我想到,通过声明中间件['middleware' => 'web']
,将导致代码被调用两次,从而清除非持久性闪存消息。
基于我的假设的解决方案是简单地不使用:
Route::group(['middleware' => 'web'], function () {
});
这是我找到更新信息的地方:)Laravel 5.2 Auth不工作
尝试从routes.php文件中删除laravel 5.2中的"web"中间件。这种方式有助于我