В настоящее время я пытаюсь установить кэш для представлений в appserviceprovider.Я пытался так:
public function boot()
{
$appServiceProvider = Cache::remember('appServiceProvider', 60, function () {
View::composer('*', function ($view) {
$view->with('home_references', Reference::where('position', 'home')->orderBy('order', 'asc')->get());
$view->with('informations', ContactInformation::first());
$view->with('header_posts', Post::latest()->limit(4)->get());
});
});
return $appServiceProvider;
}
Но этот метод не возвращает значение.Я не должен "возвращаться" сюда, я думаю.Что я должен делать?Я не нашел никакого решения для этого.Заранее спасибо.
Попытка, как это, на самом деле работает нормально:
View::composer('*', function ($view) {
$view->with('home_references', Cache::remember('home_references', 60, function() {
return Reference::where('position', 'home')->orderBy('order', 'asc')->get();}));
$view->with('informations', Cache::remember('informations', 60, function() {
return ContactInformation::first();}));
$view->with('header_posts', Cache::remember('header_posts', 60, function() {
return Post::latest()->limit(4)->get();}));
});
Но этот путь повторяется.Мне нужно установить кеш как один параметр.В этом примере существует 3 запроса.Но может быть 30 запрос.Я ищу лучшее решение.