2016-10-22 4 views
4

У меня есть этот кусок кода, который я думал, что будет помнить кэш навсегда:Laravel кэш запомнить навсегда

$setting = \Cache::remember('website_description', 0, function() { 
    return App\Models\Setting::where('name', 'website_description')->first(); 
}); 

Но не помню вообще, кто-то сказал мне, что передача 0 вспомнить функцию бы он помнит навсегда. Так как это не работает, каким другим способом я могу положить элемент в кеш навсегда?

ответ

15

Просто измените remember на rememberForever и удалить параметр времени

$setting = \Cache::rememberForever('website_description', function() { 
      return App\Models\Setting::where('name', 'website_description')->first(); 
     }); 

Referance for rememberForever

2

Вы можете попробовать это:

if (! \Cache::has('website_description')) { 
    \Cache::forever('website_description', App\Models\Setting::where('name', 'website_description')->first()); 
} 
Смежные вопросы