Laravel 3 - 在多个视图中传递变量

时间:2013-06-13 13:20:03

标签: variables post view laravel

我在两个不同的视图中有两个表单。我想将表单输入发布到第二个视图,然后在发布第二个表单时返回到第一个表单。

我已经设置了一个测试,其路线如下:

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一次。我误解了为什么我再也无法通过它。我觉得我必须再次提取它?

2 个答案:

答案 0 :(得分:2)

您需要在/test2中添加表单字段,然后重新提交$ flash数据,以便通过POST将其传递给/test1。这是一个新请求,否则应用程序将失去$ flash var。

另一种方法可以是在Session::put('flash', $flash);的会话中存储$ flash并在下一个请求中访问它。

答案 1 :(得分:2)

最好的方法是将数据存储在会话中。它将在多个请求中提供。使用Input :: flash()仅在下一个请求之前可用。请参阅Laravel文档了解Input::flash()Session

相关问题