缓存记住get请求中的特定参数结果相同 - Laravel 5

时间:2018-04-17 06:03:32

标签: laravel laravel-5

尝试搜索任何匹配的名称获取具有不同参数的请求,例如:search?q=anhar显示名称anhar的结果然后当我更改anhar时aslam不再查询并以相同的结果结束

这是我的控制器

public function search(Request $request)
    {
        $q = $request->get('q');
        $q = Cache::remember('q', 30*60, function() use ($q) {
            $user = User::select('users.id', 'users.first_name', 'users.last_name', 'profiles.location', 'profiles.occupation')
                        ->leftJoin('profiles', 'users.id', '=', 'profiles.member_id')
                        ->where('first_name', 'LIKE', '%'.$q.'%')
                        ->orWhere('last_name', 'LIKE', '%'.$q.'%')
                        ->paginate(10);
            return $user;
        });
        return view('search.result', compact('q'));
    }

和这条路线

Route::get('/search', 'PublicController@search')->name('search.result');

1 个答案:

答案 0 :(得分:1)

我找到了将Cache::remember('q')替换为Cache::remeber($q)

的答案