Todays Pick articles
This commit is contained in:
27
app/Http/Controllers/TodaysPick.php
Normal file
27
app/Http/Controllers/TodaysPick.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use App\Article;
|
||||
use Illuminate\Support\Carbon;
|
||||
use App\Http\Resources\ArticleResource;
|
||||
|
||||
class TodaysPick extends Controller
|
||||
{
|
||||
/**
|
||||
* __invoke
|
||||
*
|
||||
* Query the Articles published today and return 8 articles from unique sources
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __invoke()
|
||||
{
|
||||
return ArticleResource::collection(Article::with('topics', 'source')
|
||||
->whereDate('published_date', Carbon::today())
|
||||
->take(8)
|
||||
->get()
|
||||
->unique('source.name'));
|
||||
}
|
||||
}
|
@@ -15,5 +15,6 @@ use App\Http\Controllers\ArticlesController;
|
||||
|
|
||||
*/
|
||||
|
||||
Route::get('today', \TodaysPick::class);
|
||||
Route::get('latest', \LatestArticles::class);
|
||||
Route::get('article/{article:id}', [ArticlesController::class, 'show']);
|
Reference in New Issue
Block a user