2016-07-30 74 views
1

這是可能的緩存查詢結果,像這樣:Laravel查詢生成器:緩存列表結果

$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

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

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

我希望這將有助於您。