javascript - Laravel - 带有过滤器和旧输入的搜索表单
问题描述
我正在开发一个带有过滤器的搜索表单,例如从这个列表中选择一个性别,选择一个区域等,这些过滤器应该动态地应用于搜索查询。表单通过控制器中的发布请求提交。我现在的问题是:如何将查询结果从数据库返回到搜索页面,保持相同的漂亮 url,此外还返回旧输入以使用旧数据预填充表单?
问候。
编辑:
我尝试过这样的事情:
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();
}
解决方案
使用资源控制器和 laravel 的“旧”功能来保留旧的帖子数据以供重新填充,并使用相同的 url
https://laravel.com/docs/5.6/controllers#resource-controllers
推荐阅读
- c++ - 有没有办法使用 C++17 折叠表达式来实现这一点?
- python - 如何强制python将变量保留在内存(缓存)中?
- python-3.x - STDERR:错误:找不到满足要求的版本 Brlapi==0.7.0 错误:没有找到与 Brlapi==0.7.0 匹配的发行版
- amazon-web-services - AWS Lambda 错误 { "errorType": "string", "errorMessage": "error", "trace": [] },在 api 网关上发送请求时
- localization - Wagtail_localize 和 StreamField 的 Wagtail 2.12 翻译问题
- css - 如何使用 css 制作 3D 文本?
- python - Python - 如何确保资源已关闭
- python-2.7 - Ansible 2.9.17 - 在面临 parsing.dataloader 模块未找到错误的库存检查期间
- database - 铸造海量属性 Neo4j
- c# - C# - 如何让函数正则表达式工作?