У меня проблемы с кэшированием моих запросов. Каждый раз, когда я ударяю свой API, я получаю свежие результаты из базы данных вместо результатов кэширования, которые им нужны. Странно, если я посмотрю в кеш-файле, я вижу результаты кэширования, и они точно такие, чего я ожидаю, но когда я вызываю API, я получаю свежие результаты. Ниже приведены некоторые фрагменты соответствующих файлов. Где я здесь не так?Laravel 4 Query Cache
Repository Функция мои API вызовы:
public function topMonth()
{
$top = $this->repository->month()->top()->joinUser()->remember(30)->get(['things.id', 'things.votes', 'things.title', 'things.description', 'things.tags', 'things.created_at', 'users.id as user_id','users.username','users.picture as user_picture'])->toArray();
return $top;
}
Модель
class Thing extends Eloquent
{
public function scopeTop($query)
{
return $query->orderBy('things.votes', 'desc');
}
public function scopeYear($query)
{
return $query->whereRaw("things.created_at > STR_TO_DATE('" . Carbon::now()->subYear() . "', '%Y-%m-%d %H:%i:%s')");
}
public function scopeMonth($query)
{
return $query->whereRaw("things.created_at > STR_TO_DATE('" . Carbon::now()->subMonth() . "', '%Y-%m-%d %H:%i:%s')");
}
public function scopeWeek($query)
{
return $query->whereRaw("things.created_at > STR_TO_DATE('" . Carbon::now()->subWeek() . "', '%Y-%m-%d %H:%i:%s')");
}
public function scopeDay($query)
{
return $query->whereRaw("things.created_at > STR_TO_DATE('" . Carbon::now()->subDay() . "', '%Y-%m-%d %H:%i:%s')");
}
public function scopeJoinUser($query)
{
return $query->join('users', function($join)
{
$join->on('users.id', '=', 'things.created_by');
});
}
}
Благодарим вас за то, что вы просто не дали ответа, но объяснили, почему так оно и есть. Вы джентльмен и ученый! –