Laravel 3 - 跨多个视图传递变量
Posted
技术标签:
【中文标题】Laravel 3 - 跨多个视图传递变量【英文标题】:Laravel 3 - Passing variables across multiple views 【发布时间】:2013-06-13 13:20:02 【问题描述】:我有两种不同观点的两种形式。我想将表单输入发布到第二个视图,然后在发布第二个表单后返回到第一个表单。
我已经使用如下所示的路线设置了一个测试:
Route::get('/test1', function()
return View::make('test1');
);
Route::post('/test2', function()
$flash = Input::get();
return View::make('test2')->with('flash', $flash);
);
Route::post('/test1', function()
return View::make('test1')->with('flash', $flash);
);
我只能通过$flash
一次。我误解了为什么我不能再次通过它。我觉得我必须重新提取它?
【问题讨论】:
【参考方案1】:您需要在/test2
中添加一个表单字段并重新提交$flash 数据,以便通过POST 将其传递给/test1
。这是一个新请求,否则应用程序将丢失 $flash var。
另一种方法是将 $flash 存储在与 Session::put('flash', $flash);
的会话中,并在下一个请求中访问它。
【讨论】:
【参考方案2】:最好的方法是将数据存储在会话中。它将在多个请求中可用。使用 Input::flash() 只能在下一个请求之前使用。请参阅 Laravel 文档以获取 Input::flash() 和 Session
【讨论】:
以上是关于Laravel 3 - 跨多个视图传递变量的主要内容,如果未能解决你的问题,请参考以下文章