1

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

$users = DB::table('users')->remember(10)->get();

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

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

抛出的错误:

exception 'BadMethodCallException' with message 'Call to undefined method Illuminate\Database\Query\Builder::remember()'
4

1 回答 1

5

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

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

我希望这能帮到您。

于 2016-07-30T19:23:59.963 回答