我正在开发一个带过滤器的搜索表单,例如从此列表中选择性别,选择区域等,其中应将这些过滤器动态应用于搜索查询。表单在控制器中提交了一个post请求。我现在的问题是:如何将查询结果从数据库返回到搜索页面,保持相同的,漂亮的网址,另外还返回旧输入以使用旧数据预填充表单?
问候。
编辑:
我尝试过这样的事情:
public function advancedSearch()
{
$users = Session::get('users');
return View("find-match.show", compact("users"));
}
public function getUsersAdvancedSearch(Request $request)
{
$users = User::select();
//Only active users excluding own profile.
$users->where('is_activated', 1)
->where('id', '<>', Auth::user()->id);
//Add gender.
if($request->has('form_genders'))
{
$users->whereIn('gender_id', $request->form_genders);
}
//Get matching users.
$users = $users->Paginate(self::paginate);
Session::put('users', $users);
return redirect()->route('match.advancedSearch')->withInput();
}
答案 0 :(得分:-1)
使用资源控制器和laravel的“旧”功能来保留重新填充的旧帖子数据,并使用相同的URL
https://laravel.com/docs/5.6/controllers#resource-controllers