Как кэшировать ленивые нетерпеливые запросы загрузки на основе отношений модели. Например -Кэширование Lazy Eager Загрузка запросов в Laravel 5.1
$books = App\Book::all();
$books->load('author', 'publisher');
можно кэшировать первый запрос с чем-то вроде этого
$books = Cache::remember('allbooks', 60, function() {
return App\Book::all();
});
Как кэшировать второй запрос?
Если нет прямого способа, предложите любое обходное решение, возможно, с образцом кода.
Обновление: Мне нужно, чтобы второй запрос выполнялся отдельно, поэтому я могу очистить эти два ключа кеша отдельно.
Thanks но мне нужно загрузить отношения отдельно (я должен был сделать это ясно в вопросе). Мне нужно это отдельно, поэтому я могу сделать недействительным один кэш вместо обоих. Например. Сообщение - LikedbyUsers. На каждом новом LIKE я хочу аннулировать кеш-запрос, содержащий запрос для LikedbyUsers, но сохранить неподдерживаемый кеш сообщений. – Aakash
ОК! см. обновленный ответ –
Спасибо. Это почти правильно, но вместо назначения $ booksAP во второй функции назначьте его в $ books, чтобы отношения продолжали работать. В противном случае мне нужно будет передать $ booksAP моим взглядам. – Aakash