Laravel 查询生成器:缓存列表结果

Nin*_*art 1 php laravel laravel-5 laravel-query-builder

可以像这样缓存查询结果:

$users = DB::table('users')->remember(10)->get();
Run Code Online (Sandbox Code Playgroud)

但是我如何缓存列表结果。这不起作用:

$roles = DB::table('roles')->lists('title'); // Works, but not cached.
$roles = DB::table('roles')->remember(10)->lists('title'); // Not working.
Run Code Online (Sandbox Code Playgroud)

抛出错误:

exception 'BadMethodCallException' with message 'Call to undefined method Illuminate\Database\Query\Builder::remember()'
Run Code Online (Sandbox Code Playgroud)

Ism*_*OUH 5

Illuminate\Database\Query\Builder::remember()在laravel删除5+,您可以使用它代替:

$roles = Cache::remember('roles', 10, function() {
    return DB::table('roles')->lists('title');
});
Run Code Online (Sandbox Code Playgroud)

我希望这能帮到您。