>백엔드 개발 >PHP 튜토리얼 >Laravel의 쿼리 빌더에서 상대 날짜 도우미를 사용합니다

Laravel의 쿼리 빌더에서 상대 날짜 도우미를 사용합니다

Johnathan Smith
Johnathan Smith원래의
2025-03-05 15:29:10349검색

Using Relative Date Helpers in Laravel's Query Builder Laravel 버전 11.42는 날짜 관련 쿼리 로직을 단순화하는 실용적인 상대 날짜 쿼리 빌더 메소드 세트를 소개합니다. 이러한 방법을 사용하기 위해 모든 응용 프로그램을 리팩터링 할 필요는 없지만 모델의 상대 날짜 논리에보다 간결하고 읽기 쉬운 이점을 제공합니다.

모델의 예와 함께 살펴 보겠습니다.

특정 상태를 가진 출판 ​​된 기사를받을 수있는 범위가 있다고 가정하고 Article 날짜는 현재 시간과 동일해야합니다.

코드의 다른 곳 에서이 범위를 사용하여 기사를 활성 기사로만 제한 할 수 있습니다.

published_at 이제 Laravel 11.42를 사용하면 상대 날짜 방법을 사용하기 위해

방법을 약간 조정할 수 있습니다. 메소드는 원래 논리 :
use Illuminate\Database\Eloquent\Builder;
use App\Models\Article;

public function scopeActive(): Article|Builder
{
    return $this->where('status', ArticleStatus::Published)
                ->where('published_at', '<=', now());
}
와 일치 할 수 있습니다

Query Builder를 사용하여 <🎜 🎜>로 표시된 기사를 찾으려면

메소드를 사용할 수 있습니다.
Article::with('user', 'category', 'tags')
    ->active()
    ->orderByDesc('published_at')
    ->limit(20)
    ->get();
오늘 날짜보다 일찍 또는 늦은 기사를 찾고 싶다면 어떻게해야합니까? 새로운 상대 날짜 헬퍼 함수에는

scopeActive() 변형이 포함됩니다. whereNowOrPast Laravel V11.42에 추가 된 모든 새로운 상대 날짜 방법에 대해서는 풀 요청 #54408을 확인하십시오. 이 방법은

라는 새로운 기능에 있습니다.
$this->where('status', ArticleStatus::Published)
     ->whereNowOrPast('published_at');

위 내용은 Laravel의 쿼리 빌더에서 상대 날짜 도우미를 사용합니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.