Здравствуйте, я использую memcached
в laravel приложении 5.8.
Через некоторое время ошибка:
production.ERROR: Invalid argument supplied for foreach()
Код в контроллере:
$page = \Request::get('page', '0');
Cache::tags('posts')->remember('page-'.$page, 15, function(){
return Post::orderBy('created_at', 'desc')
->paginate(20);
});
$posts = Cache::tags('posts')->get('page-'.$page);
Ошибка возникает из-за @foreach
l oop в представлении.
Когда я получаю ошибку, я могу исправить ее, перезапустив сервер, но это это не очень хорошее решение. Как я могу предотвратить эту проблему и все еще использовать memcached
?
Я уверен, что это происходит из кеша, потому что если я изменю драйвер кеша на array
, то ошибка исчезнет.
Обновление:
Поэтому я попытался изменить значение с remember
на rememberForever
в контроллере, но проблема остается. Это ошибки и единственным решением является отключение кеша или перезагрузка сервера. В противном случае это дает мне production.ERROR: Invalid argument supplied for foreach()
.