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('latest', \LatestArticles::class);
|
||||||
Route::get('article/{article:id}', [ArticlesController::class, 'show']);
|
Route::get('article/{article:id}', [ArticlesController::class, 'show']);
|
||||||
Reference in New Issue
Block a user