From 4629067572cd895ae43a1b56750a94cd5f2f830b Mon Sep 17 00:00:00 2001 From: Mohamed jinas Date: Sun, 23 May 2021 15:04:12 +0500 Subject: [PATCH] cache api --- app/Http/Controllers/API/ArticleFilter.php | 35 ++++++++++++---------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/app/Http/Controllers/API/ArticleFilter.php b/app/Http/Controllers/API/ArticleFilter.php index c308eec..9bd85ad 100644 --- a/app/Http/Controllers/API/ArticleFilter.php +++ b/app/Http/Controllers/API/ArticleFilter.php @@ -5,6 +5,7 @@ namespace App\Http\Controllers\API; use App\Article; use Illuminate\Http\Request; use App\Http\Controllers\Controller; +use Illuminate\Support\Facades\Cache; class ArticleFilter extends Controller { @@ -20,21 +21,23 @@ class ArticleFilter extends Controller "term" => "required" ]); - return Article::with('source')->where('title', 'like', '%' . $request->get('term') . '%') - ->latest('published_date') - ->limit(12) - ->get() - ->transform(function ($article) { - return [ - "title" => $article->title, - "url" => $article->url, - "author" => $article->author, - "featured_image" => $article->featured_image, - "published_date" => $article->published_date, - "meta" => $article->meta, - "source" => $article->source->name, - "body" => $article->body[0], - ]; - }); + return Cache::remember('articles.filter.' . $request->term, 300, function () use ($request) { + return Article::with('source')->where('title', 'like', '%' . $request->get('term') . '%') + ->latest('published_date') + ->limit(12) + ->get() + ->transform(function ($article) { + return [ + "title" => $article->title, + "url" => $article->url, + "author" => $article->author, + "featured_image" => $article->featured_image, + "published_date" => $article->published_date, + "meta" => $article->meta, + "source" => $article->source->name, + "body" => $article->body[0], + ]; + }); + }); } }