John Davidson

php - Laravel remember cache

0 comments
Message:


I'm trying to remember cache for 6 minute on home page but it's errors.
I want 10 parameters in one key ( homepage-data )
so what i'm doing wrong?


public function index()
{
$rememberKey = 'homepage-data';
$minutes = 600;
\Cache::remember($rememberKey, $minutes, function () {

$breakingNews = BreakingNews::published();
$rightSlider = Article::rightSlider()->take(20)->get();
$leftSlider = Article::leftSlider()->take(9)->get();
$shows = Show::publishedOrderShows()->take(10)->get();
$blogs = Article::allBlogs()->take(12)->get();
$latestNews = Article::latestNews()->whereNotIn('id', $rightSlider->pluck('id')->merge($leftSlider->pluck('id')))->take(5)->get();
$otherNews = Article::otherNews()->whereNotIn('id', $rightSlider->pluck('id')->merge($leftSlider->pluck('id')))->take(2)->get();
$otherNewsDown = Article::otherNews()->whereNotIn('id', $rightSlider->pluck('id')->merge($leftSlider->pluck('id'))->merge($otherNews->pluck('id')))->take(8)->get();
$analyticNews = Article::allAnalytics()->take(4)->get();
$populars = Article::popular()->take(10)->get();
$quizzes = Quizze::quizOrderBy();

return view('pages/home-page')->with([
'breakingNews' => $breakingNews, 'rightSlider' => $rightSlider,
'leftSlider' => $leftSlider, 'shows' => $shows, 'blogs' => $blogs, 'latestNews' => $latestNews,
'otherNews' => $otherNews, 'otherNewsDown' => $otherNewsDown, 'analyticNews' => $analyticNews,
'populars' => $populars, 'quizzes' => $quizzes
]);
});
}

I'm getting Serialization of 'Closure' is not allowed error.



My Answer:
> It looks like you are missing a closing bracket in your code snippet. Here is the corrected version:

php
public function index()
{
$rememberKey = 'homepage-data';
$minutes = 600;

\Cache::remember($rememberKey, $minutes, function () {
$breakingNews = BreakingNews::published();
$rightSlider = Article::rightSlider();
// Add more parameters here

return [
'breakingNews' => $breakingNews,
'rightSlider' => $rightSlider,
// Add more parameters here
];
});
}


Make sure to add more parameters as needed inside the `return` statement within the `Cache::remember` function. This will store the data in the cache with the key 'homepage-data' for 600 minutes.

Rate this post

3 of 5 based on 8073 votes

Comments




© 2024 Hayatsk.info - Personal Blogs Platform. All Rights Reserved.
Create blog  |  Privacy Policy  |  Terms & Conditions  |  Contact Us