当我抛出一些异常时,我需要将用户重定向到带有flash消息的主页,但是我无法访问从异常处理程序中闪现的消息。这是我的代码:
if(config('app.env') == 'production')
{
if($exception instanceof FatalErrorException ||
$exception instanceof FatalThrowableError
){
return redirect(route('home'))->with('message',
[
'type' => 'info',
'content' => 'Nous nous excusons pour cette gène !
Notre équipe technique est informée du problème et passera
à la correction dans le plus brefs délais que possible
'
]);
}
}
return parent::render($request, $exception);
}
有什么问题?
我像这样访问闪烁的消息:
@if(session()->has('message'))
<div data-toggle="alert-dismissable" role="alert" class="alert alert-{{ session('message')['type'] ?? 'success' }}">
<i class="fa fa-{{ session('message')['type'] ?? 'success' }}"></i>
{{ session('message')['content'] ?? session('message') }}
</div>
@endif
答案 0 :(得分:0)
您必须使用session()
代替with
会话中的值,您可以执行以下操作:
if(config('app.env') == 'production')
{
if($exception instanceof FatalErrorException ||
$exception instanceof FatalThrowableError
){
session()->flash('message', [
'type' => 'info',
'content' => 'Nous nous excusons pour cette gène !
Notre équipe technique est informée du problème et passera
à la correction dans le plus brefs délais que possible
'
]);
return redirect(route('home'));
}
}
return parent::render($request, $exception);
}
如果您想使用with()
,则必须更改视图
@if(isset($message))
<div data-toggle="alert-dismissable" role="alert" class="alert alert-{{ $message['type'] ?? 'success' }}">
<i class="fa fa-{{ $message['type'] ?? 'success' }}"></i>
{{ $message['content'] ?? $message['content'] }}
</div>
@endif
希望这有帮助