34 lines
734 B
PHP
Raw Permalink Normal View History

2025-01-23 00:19:07 +01:00
<?php
declare(strict_types=1);
namespace App\Services\QueryRequestModifiers\Post;
use App\Http\Requests\Post\ListPostRequest;
use App\Models\Post;
use App\Services\QueryRequestModifiers\Orderable;
use Illuminate\Database\Eloquent\Builder;
class PostOrder
{
/**
* @use Orderable<Post, PostOrderDTO>
*/
use Orderable;
/**
* @param Builder<Post> $query
* @return Builder<Post>
*/
public function apply(Builder $query, ?PostOrderDTO $filters): Builder
{
return $this->applyOrderable($query, $filters);
}
public function makeFromRequest(ListPostRequest $request): ?PostOrderDTO
{
return $this->makeOrderableFromRequest($request, PostOrderDTO::class);
}
}