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 に答える