Laravel 5 withError() 与 withErrors()

Yea*_*der 2 php laravel-5.4

我可能正在做一些非常愚蠢的事情。不小心产生了一段代码,我似乎无法弄清楚它是如何工作的。

我正在尝试自定义未经身份验证的用户重定向到登录页面。因此,当用户尝试访问受保护的页面时,laravel 会将用户重定向到登录页面。在这种情况下,我试图显示 Javascript toastr 消息。

我所做的是自定义类中的unauthenticated方法App\Exceptions\Handler.php如下:

protected function unauthenticated($request, AuthenticationException $exception)
{
    if ($request->expectsJson()) {
        return response()->json(['error' => 'Unauthenticated.'], 401);
    }
    //dd($request);
    return redirect()->guest('login')->withError('You are not logged in or Your session has expired');
}
Run Code Online (Sandbox Code Playgroud)

请注意,我错过swithError函数中的 。在我的刀片文件中,我显示的 toastr 通知如下:

<script>
 @if(Session::has('error'))

       toastr.error("{{Session::get('error')}}");
 @endif
 </script>
Run Code Online (Sandbox Code Playgroud)

因此,每当用户因为尚未登录而被重定向到登录页面时,就会显示 Java Script toastr 消息。但是,我无法弄清楚该Session('error')函数是如何填充该值的withError。我只能发现 Laravel 有withErrors函数,没有withError.

试图在过去几个小时内排除故障,但运气不佳。在这里寻求一些指导。谢谢。顺便说一句,我对 Laravel 很陌生。

Mar*_*ean 12

这是一个“神奇”的方法,因为任何对带有前缀的方法的调用都with将作为闪存数据添加到会话中。所以withError()会在key下添加flash数据errorwithErrors()将在键下添加闪存数据errorswithSuccess()将在 键下添加闪存数据success;等等。