Laravel:重定向到另一个需要POST变量的控制器
我有一个控制器 仅作为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::
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..
}