コントローラレンダリングがあります。my_view.blade.phpビューは、特定の変数にアクセスする場合があります:Laravel:404ページが表示されているときに元のビューデータにアクセスします。
今return view()->make('my_view', array('var1' => 'foo', 'var2' => 'bar'));
、のは404エラーをスローmy_view.blade.phpを使用してページをしましょう。この場合、Laravelはmy_viewのカスタム404.blade.phpを「スワップ」します。
これが発生すると、ビューには、もともと渡されたデータがないことは明らかです。
私はmy_viewに渡された元のデータを永続化することができます方法はありますので、彼らは404.blade.php内でアクセスすることができますか?このデータは、各ビューごとに異なる動的であることに注意してください。もちろん
、解決策は、あなたが、これは、その要求内のすべてのビューの中でそれを共有しますview()->share($key, $val)
を使用することができます404
に関する見解とのデータ共有にドキュメントを表示することができます。その場合、元のビューデータは適用されません。これは私が考えていない一般的な解決策はありません。 – apokryfos
もちろん、あなたは正しいです。私は 'abort(404)'を実行するので、データはビューにまったく渡されません。また、現在、メソッドにデータを渡す方法はありません。 – lesssugar
手作業で 'abort'を起動した場合、@ianの示唆するように(ミドルウェアでこれを起動しない限り)' view() - > share(...) 'を実行することができます。 404が存在しないときに自動発火するルートにバインドされたモデルを持つ。それであなたはかなり運が悪いです。 – apokryfos