Есть ли готовое решение автоматизации кэширования? Например, переопределить методы get() и first(), не изменяя файлы фреймворка, добавив в них Cache::remember(), а необходимость и время кэширования указывать, например, в самой модели?
В Laravel 5 убрали возможность кешировать запросы, Taylor сказал что это "фу", и делайте кеширование сами.
Самый правильный путь - сделать класс репозиторий, в котором и делать кеширование данных.
Т.е как-то так:
- Делаем абстрактный репозиторий Repository, у него есть свойство protected $model;
- В Repository добавляем все стандартные методы get/all/first/etc... и делаем в них кеширование.
- Создаем нужный репозиторий UserRepository, в котором устанавлием $model = new User;
- ???
- Profit!