Laravel:重定向到另一个需要POST变量的控制器

Laravel:重定向到另一个需要POST变量的控制器,laravel,laravel-4,Laravel,Laravel 4,我有一个控制器 仅作为POST路由的索引 public function index() // must have start, end, client { $start = Input::get('start'); // <<< This are POST variables $end = Input::get('end'); // <<< This are POST variables $client = Input::

我有一个控制器 仅作为POST路由的索引

public function index() // must have start, end, client
{
    $start  = Input::get('start'); // <<< This are POST variables
    $end    = Input::get('end');   // <<< This are POST variables
    $client = Input::get('client'); This are POST variables

    db request... output view..

}

如何返回索引控制器并传递相同的$\u POST['start']、$\u POST['end']、$\u POST['client']?

您可能可以使用
重定向::到('url')->withInput()

然后可以使用
Input::get('key')


如果这不起作用,请尝试使用
Input::old('key')
->Less pretty

您可能可以使用
Redirect::to('url')->withInput()

然后可以使用
Input::get('key')


如果这不起作用,请尝试
Input::old('key')
->Less pretty

一旦您从视图向
deleteRow
方法发出另一个请求,您的post变量将不再可用,因此您必须将这些变量传递给
deleteRow
方法。您可以从
索引
方法构建
视图/ui
,如

public function index() // must have start, end, client
{
    $start  = Input::get('start');
    $end    = Input::get('end');
    $client = Input::get('client');

    db request... output view.. // <-- Outputs view with "delete row" link
}
这意味着,您的
deleteRow
方法现在应该如下所示(同时更改此方法的路由)

因此,很明显,您必须将这些变量传递给
deleteRow
方法,这就是为什么
deleteRow
方法
route
应该根据
params
重建的原因。因此,最后,您的
索引
方法应该如下所示

public function index() // must have start, end, client
{
    $postVars = session::has('postVars') ? session::get('postVars') : Input:all();
    $start = $postVars['start'];
    $end = $postVars['end'];
    $client = $postVars['client'];

    db request... output view..

}

一旦从视图向
deleteRow
方法发出另一个请求,post变量将不再可用,因此必须将这些变量传递给
deleteRow
方法。您可以从
索引
方法构建
视图/ui
,如

public function index() // must have start, end, client
{
    $start  = Input::get('start');
    $end    = Input::get('end');
    $client = Input::get('client');

    db request... output view.. // <-- Outputs view with "delete row" link
}
这意味着,您的
deleteRow
方法现在应该如下所示(同时更改此方法的路由)

因此,很明显,您必须将这些变量传递给
deleteRow
方法,这就是为什么
deleteRow
方法
route
应该根据
params
重建的原因。因此,最后,您的
索引
方法应该如下所示

public function index() // must have start, end, client
{
    $postVars = session::has('postVars') ? session::get('postVars') : Input:all();
    $start = $postVars['start'];
    $end = $postVars['end'];
    $client = $postVars['client'];

    db request... output view..

}

withInput()+Input::旧的唯一错误是当我按下刷新页面时,它会丢失数据。谢谢你的帮助!是的,因为在输入()中,你的数据只能是“flash”到下一个请求,它只保留一个好的下一个请求。也可以考虑接受这个答案,这样它可以帮助将来有类似问题的人。in in PoT(+)+输入::旧的只工作的bug是当我按下刷新页面时,它会丢失数据。谢谢你的帮助!是的,因为在输入()中,你的数据只需闪存到下一个请求,它只会持续一个好的下一个请求。
public function index() // must have start, end, client
{
    $postVars = session::has('postVars') ? session::get('postVars') : Input:all();
    $start = $postVars['start'];
    $end = $postVars['end'];
    $client = $postVars['client'];

    db request... output view..

}