Laravel 查询生成器:缓存列表结果
Laravel Query Builder: Caching a list result
可以像这样缓存查询结果:
$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()'
Illuminate\Database\Query\Builder::remember()
已在 laravel 5+ 中删除,您可以改用它:
$roles = Cache::remember('roles', 10, function() {
return DB::table('roles')->lists('title');
});
希望对您有所帮助。
可以像这样缓存查询结果:
$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()'
Illuminate\Database\Query\Builder::remember()
已在 laravel 5+ 中删除,您可以改用它:
$roles = Cache::remember('roles', 10, function() {
return DB::table('roles')->lists('title');
});
希望对您有所帮助。