30 lines
716 B
PHP
30 lines
716 B
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use Illuminate\Http\Request;
|
|
use App\Article;
|
|
use Illuminate\Support\Facades\Cache;
|
|
|
|
class ArticlesController extends Controller
|
|
{
|
|
/**
|
|
* Show a single article
|
|
*
|
|
* @param mixed $article
|
|
*/
|
|
public function show($source, $guid)
|
|
{
|
|
$article = Cache::remember("article_" . $source . "_" . $guid, 3600, function () use ($source, $guid) { // Cache for an hour
|
|
|
|
return Article::whereHas('source', function ($q) use ($source) {
|
|
$q->where('slug', $source);
|
|
})->where('guid', $guid)->get()->first();
|
|
});
|
|
|
|
return view('articles.show', [
|
|
'article' => $article
|
|
]);
|
|
}
|
|
}
|