我有一个控制器呈现my_view.blade.php。视图可以访问特定的变量:Laravel:404页面显示时访问原始视图数据
return view()->make('my_view', array('var1' => 'foo', 'var2' => 'bar'));
现在,让我们使用my_view.blade.php抛出一个404错误说一个页面。在这种情况下,Laravel将为自定义404.blade.php“交换”my_view。
当发生这种情况时,显然,视图不知道最初传递的数据。
有什么办法,我可以坚持传递给my_view原始数据,使他们可以在404.blade.php访问?请注意,这些数据可能是动态的,对于每个视图都不相同。
当然,该解决方案将处理投掷404
意见查看数据共享的文档。在这种情况下没有适用的原始视图数据。这不是我想的通用解决方案。 – apokryfos
垃圾,当然,你是对的。我开始放弃(404)',所以数据根本不传递给任何视图。而且,目前还没有办法将数据传递给该方法。 – lesssugar
如果你手动触发'abort',那么你仍然可以在@ian之前执行'view() - > share(...)'(除非你在中间件中触发这个),这个问题通常是当你有一个模型绑定到一个路由,当它不存在时自动触发404。那么你几乎没有运气。 – apokryfos