Laravel - 带有过滤器和旧输入的搜索表单

时间:2018-05-17 13:41:54

标签: javascript php eloquent

我正在开发一个带过滤器的搜索表单,例如从此列表中选择性别,选择区域等,其中应将这些过滤器动态应用于搜索查询。表单在控制器中提交了一个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();
}

1 个答案:

答案 0 :(得分:-1)

使用资源控制器和laravel的“旧”功能来保留重新填充的旧帖子数据,并使用相同的URL

https://laravel.com/docs/5.6/controllers#resource-controllers

https://laravel.com/docs/5.6/requests#old-input