我不能管理查詢後重新填充選擇欄輸入,使用Laravel 4:重新填充Laravel輸入::舊()的Form ::選擇
// Route
Route::get('blog', '[email protected]');
// BlogController
public function getPosts()
{
$posts = Post::where('category_id', Input::get('category'))->paginate(25);
$categories = Category::lists('title', 'id');
return View::make('blog', compact('categories', 'posts'));
}
// Blog view
{{ Form::open('method' => 'get', 'id' => 'form-search') }}
{{ Form::select('category', $categories, Input::old('category')) }}
{{ Form::close() }}
我設法讓這種方式工作,但它不是最好的做法
<select name="category" id="category">
<option value="1" {{ (Input::get('category') == 1) ? 'selected="selected"' : null }}>Category 1</option>
<option value="2" {{ (Input::get('category') == 2) ? 'selected="selected"' : null }}>Category 2</option>
<option value="3" {{ (Input::get('category') == 3) ? 'selected="selected"' : null }}>Category 3</option>
</select>
我覺得Input::old('category')
不起作用,因爲它是一個GET請求,對嗎?有沒有解決辦法?
更新:我終於做到了工作中使用Input::get()
代替Input::old()
:
{{ Form::select('category', $categories, Input::get('category')) }}
第二屆參數'輸入::舊的()'是舊是空的情況下的默認值。 'Input :: old('category',null);'例如。 – Ohgodwhy 2014-09-24 20:39:09
我想是這樣,但我100%確定我的輸入不爲空,因爲我的帖子上市工作得很好,而我的uri看起來像'/?category = 1' – PhilMarc 2014-09-24 20:45:36