【问题标题】:Laravel 4 - Redirect::route with parametersLaravel 4 - 带参数的重定向::路由
【发布时间】:2013-09-14 16:20:42
【问题描述】:

是否可以通过参数指定 Redirect::route 到资源控制器并指定如何处理参数?

我定义了以下路线:

Route::resource('account','AccountController');

在另一条路线中,我希望能够使用之前获取的值将参数传递给 account.create,以便我可以预先填充创建表单,但希望它们作为 POST 请求传递。

Redirect::route('account.create',array('name' => $name));

上述方法有效,但将参数作为 GET 请求传递。

【问题讨论】:

    标签: php laravel


    【解决方案1】:
    Redirect::route('account.create')->with('name', $name);
    

    这会将其闪存到会话中,然后您将在重定向后使用 Session::get('name') 检索该会话。

    【讨论】:

    • 我正在尝试这个解决方案,但变量没有传递给我的视图。我认为这与我在 routes.php 中定义路由的方式有关: Route::get('login', array('as' => 'login', 'uses' => 'AuthController@getLogin') );你如何定义你的?
    • @BjörnAndersson - 在重定向上调用的with 方法不会将任何内容传递到视图中。它所做的只是将数据闪存到会话中,以便您可以使用Session::get() 检索它。
    • 这与文档在此处将数据传递到视图中的说法是否矛盾:laravel.com/docs/responses#views
    • @BjörnAndersson - 您在视图上调用的with 方法和您在重定向上调用的with 方法是两个独立的方法,除了它们的名称之外没有任何共享。
    • 然后您可以检索您传递的变量 $name = Session::get('name');
    【解决方案2】:

    另一个额外的信息

    您不能(不应该?)在配置会话 cookie 的 var 中使用点。我以前有过这个。如果您对此有疑问,请检查此值。

    请参阅this link 了解更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-10
      • 2015-11-06
      • 2017-12-30
      • 2013-09-19
      • 2020-04-22
      • 1970-01-01
      • 2013-11-24
      • 1970-01-01
      相关资源
      最近更新 更多