laravel 5.3旧输入值始终为空

时间:2016-09-02 22:19:39

标签: laravel laravel-5 laravel-5.3

see docs here about old input

Route::post('/search/all/', function (Request $request) {

 //...

  $products = $query->paginate(15);
  $data = ['products' => $products,
  'oldinput' => $request->all()];


  return view('inventory.search_products', $data);
});

在视图中:

这有效:

<input type="text"  id="search_all" name="search_all" value="{{ $oldinput['search_all'] }}">

这总是空的:

<input type="text"  id="search_all" name="search_all"  value="{{ old('search_all') }}">

3 个答案:

答案 0 :(得分:2)

文档说你应该flash()然后调用old()方法。

闪烁将先前的请求存储在会话中。所以old(search_all)无法正常工作

是有意义的

答案 1 :(得分:2)

我会建议以下解决方案:

return view('inventory.search_products', $data)->withInput(\Input::all());

在刀片中,您也可以拨打\Input::old('search_all');

答案 2 :(得分:1)

只需在控制器中调用flush,即可在刀片式计算机中使用old()帮助程序功能。

 public function YourController(Request $request){
     $request->flash();
 return view('yourblade');
}

在刀片文件中:-

<input id="lng" name="lng" value="{{old('lng')}}"  type="hidden">