@albertshultz1900

При вызове return Cache::has('user-is-online-'. $this->id); Выдает ошибку Class 'League\Flysystem\Cached\Storage\AbstractCache' not found?

Всем привет! Весь интернет перерыл не могу найти решение данной проблемы У меня проект на laravel 5.6 сервер NGINX , хочу сделать чтоб было видно когда пользователь зашел online , когда не в сети естественно offline. Создал middleware с названием UserActivity :
class UserActivity {

public function handle($request, Closure $next)
{
    if(Auth::check()) {
        $expiresAt = Carbon::now()->addMinutes(5);
        Cache::put('user-is-online-' . Auth::user()->id, true, $expiresAt);
    }
    return $next($request);
}
}


прописал его в Kernel:

\App\Http\Middleware\UserActivity::class,

После этого как нужно в моделе Users прописал метод:
public function isOnline()

{
    return Cache::has('user-is-online-' . $this->id);
}


При вызове его в шаблоне blade:
@foreach($users as $item)
    @if($item->isOnline())
           <li class="media"><img class="media-object" src="../assets/img/prof/prof3.jpg" width="35" height="35" alt="...">
           <i class="online dot"></i>
               <div class="media-body">
                   <h5 class="media-heading">{{ $item->name }}</h5>
                   <div class="media-heading-sub"></div>
                  </div>
           </li>
        @endif
      @endforeach


Выдает ошибку
Class 'League\Flysystem\Cached\Storage\AbstractCache' not found.


Я лез внутрь класса Cache и обнаружил что он наследуется от AbstractCache, но этого абстрактного класса нет в проекте, что делать помогите пожалуйста
  • Вопрос задан
  • 180 просмотров
Решения вопроса 1
dima9595
@dima9595
Junior PHP
"use" использовали в начале файлов, где Cache вызывался???
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Kostik_1993
Web Developer
Попробуй сменить драйвер на Redis, обнови композер.

Вот такая конструкция неверна, сюда нужно передавать количество минут тоесть 1, 2, 5, 10 или любое другое количество, а не отметку времени как у вас
$expiresAt = Carbon::now()->addMinutes(5);

Замените на это, возможно даже в этом проблема
$expiresAt = 5;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы