我正在尝试按如下所示缓存数据库查询(Laravel 5.7):
Cache::remember('footer_pages', 180, function () {
DB::table('pages')->select('id', 'title')->where(array('status' => 'Published', 'menu_position' => 'Footer'))->orderBy('sort', 'ASC')->get();
});
但是缓存为空。请帮助我找出我的错误。
答案 0 :(得分:2)
如果提供了回调,则记住函数会将回调的结果存储在缓存中。
这意味着您需要使回调返回要存储的结果:
Cache::remember('footer_pages', 180, function () {
return DB::table('pages')->select('id', 'title')->where(array('status' => 'Published', 'menu_position' => 'Footer'))->orderBy('sort', 'ASC')->get();
});