2016-07-30 19 views
1

Es ist möglich, Abfrageergebnis zwischenzuspeichern wie so:Laravel Query Builder: Caching eine Liste Ergebnis

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

Aber wie cachen ich eine Liste Ergebnis. Dies funktioniert nicht:

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

Fehler geworfen:

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

Antwort

4

Die Illuminate\Database\Query\Builder::remember() wurde in Laravel entfernt 5+, können Sie diese stattdessen verwenden:

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

Ich hoffe, dies wird dazu beitragen, Sie.