我在这里和Laravel论坛上进行了长时间的搜索,但是我找不到这个问题的答案.->withInput()咳嗽起来Undefined offset: 0.
对于上下文:
调节器
public function getJobs()
{
$position_options = DB::table('jposition')->lists('friendly','id');
$category_options = DB::table('jcategory')->lists('friendly','id');
$location_options = DB::table('jlocation')->lists('friendly','id');
$result = $query->get();
return View::make('jobsearch.search', array('position_options' => $position_options, 'category_options' => $category_options, 'location_options' => $location_options))->withInput();
}
Run Code Online (Sandbox Code Playgroud)
视图
<form action="{{ action('JobsearchController@getJobs') }}" method="post">
<div class="row">
<div class="large-8 columns">
<input type="text" name="realm" placeholder="Keywords/Skills" />
</div>
<div class="large-4 columns">
{{ Form::select('category', $category_options , Input::old('category')) }}
</div>
</div>
<div class="row">
<div class="large-4 columns">
{{ Form::select('location', $location_options , Input::old('location')) }}
</div>
<div class="large-4 columns">
{{ Form::select('type', $position_options , Input::old('type')) }}
</div>
<div class="large-4 columns">
<input type="submit" value="Search" style="width:100%; padding-top: .5rem;
padding-bottom: .5rem;" class="button border-btn" />
</div>
</div>
</form>
Run Code Online (Sandbox Code Playgroud)
现在根据文档应该没有问题,如果->withInput();删除页面加载正常.
最终目标是滚动我从上一个问题收到的答案来自db:raw的不期望的结果并且有一个页面加载"过滤"表单并在重新加载时显示相关结果并记住表单中的选择.
提前致谢.
更新:发表评论后我更新了控制器和路由,结果仍然相同:
routes.php文件
Route::get('jobs/search', 'JobsearchController@getSearch');
&
Route::post('jobs/search', 'JobsearchController@getJobs');
调节器
public function getSearch()
{
$position_options = DB::table('jposition')->lists('friendly','id');
$category_options = DB::table('jcategory')->lists('friendly','id');
$location_options = DB::table('jlocation')->lists('friendly','id');
return View::make('jobsearch.search', array('position_options' => $position_options, 'category_options' => $category_options, 'location_options' => $location_options));
}
public function getJobs()
{
$position_options = DB::table('jposition')->lists('friendly','id');
$category_options = DB::table('jcategory')->lists('friendly','id');
$location_options = DB::table('jlocation')->lists('friendly','id');
return View::make('jobsearch.search', array('position_options' => $position_options, 'category_options' => $category_options, 'location_options' => $location_options))->withInput();
}
Run Code Online (Sandbox Code Playgroud)
Ton*_*rra 32
withInput()不像你想象的那样工作.它只是Redirect的功能,而不是View.
调用withInput($data)View具有完全不同的效果; 它将以下键值对传递给您的视图:( 'input' => $data您收到错误,因为您没有将任何数据传递给该函数)
要获得所需效果,请Input::flash()在进行观看之前致电,而不是致电withInput().这应该允许您使用Input::old()视图中的功能来访问数据.
或者,您可以简单地传递Input::all()到视图,并input[]在视图中使用该数组:
View::make(...)->withInput(Input::all());
Run Code Online (Sandbox Code Playgroud)
这被翻译成
View::make(...)->with('input', Input::all());
Run Code Online (Sandbox Code Playgroud)
至于你的评论,我建议这样做:
$position_options = DB::table('jposition')->lists('friendly','id');
$category_options = DB::table('jcategory')->lists('friendly','id');
$location_options = DB::table('jlocation')->lists('friendly','id');
$category = Input::get('category');
$location = Input::get('location');
$type = Input:: get('type');
$data = compact('position_options', 'category_options', 'location_options', 'category', 'type', 'location');
return View::make('jobsearch.search', $data);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13655 次 |
| 最近记录: |