Files
Epicnabbo-Catalogus-Updated…/Updated_Cms/app/Services/Articles/ArticleService.php
T
2026-01-07 20:31:19 +01:00

25 lines
717 B
PHP

<?php
namespace App\Services\Articles;
use App\Models\Articles\WebsiteArticle;
use Illuminate\Contracts\Pagination\LengthAwarePaginator;
use Illuminate\Database\Eloquent\Collection;
class ArticleService
{
public function getArticles(bool $paginate = false, int $perPage = 8): array|Collection|LengthAwarePaginator
{
$query = WebsiteArticle::with(['user' => function ($query): void {
$query->select('id', 'username', 'look');
}])->orderByDesc('id');
return $paginate ? $query->paginate($perPage) : $query->get();
}
public function fetchArticle(string $slug): WebsiteArticle
{
return WebsiteArticle::where('slug', '=', $slug)->firstOrFail();
}
}