2017-08-31 15 views
0

私は何か非常にばかげたことをしている可能性があります。誤ってコードが生成され、どのように動作するか分かりません。Laravel 5 withError()とwithErrors()

ログインページへの認証されていないユーザーリダイレクトをカスタマイズしようとしています。したがって、ユーザーが保護されているページにアクセスしようとすると、laravelはユーザーをログインページにリダイレクトします。私はそのような場合にJavascript toastrメッセージを表示しようとしています。私はwithError機能でsを逃した

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'); 
} 

注:私は何

は、次のようにApp\Exceptions\Handler.phpクラスでunauthenticated方法をカスタマイズしました。彼はまだログインしていないため、ユーザーがログインページにリダイレクトされているので、いつでも

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

     toastr.error("{{Session::get('error')}}"); 
@endif 
</script> 

は、Javaスクリプトのtoastrメッセージが表示され、次のように私のブレードファイルでは、私はtoastr通知を示しています。しかし、 Session('error')の値が withError関数によってどのように設定されているのかわかりません。私はLaravelが withErrorsの機能を持っていることがわかりました。 withErrorではありません。

最後の2時間は運がないとトラブルシューティングを試みました。ここでいくつかのガイダンスを求めています。ありがとう。 Btw、私はLaravelにとってとても新しいです。

答えて

2

これは、メソッドプレフィックス(call)の呼び出しがフラッシュデータとしてセッションに追加されるという点で「魔法」メソッドです。したがってwithError()は、フラッシュデータをキーerrorの下に追加します。 withErrors()は、フラッシュデータをキーerrorsの下に追加します。 withSuccess()は、フラッシュデータをsuccessというキーの下に追加します。等々。

+0

本当にです!どうもありがとう。ついに私は安心して眠ることができます。 –