>  기사  >  데이터 베이스  >  Laravel에서 날짜 범위 내의 레코드를 쿼리하는 방법은 무엇입니까?

Laravel에서 날짜 범위 내의 레코드를 쿼리하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-26 21:34:29956검색

How to Query for Records Within a Date Range in Laravel?

Laravel에서 날짜 범위 사이의 날짜 쿼리

Laravel에서는 whereBetween 메소드를 사용하여 날짜 또는 날짜가 있는 레코드에 대한 모델을 쿼리할 수 있습니다. 날짜/시간 열이 지정된 범위 내에 속합니다. 이는 특정 기간 내에 만료되거나 갱신될 예정인 기록을 검색하는 등의 작업에 유용합니다.

원래 질문:

저자는 처음에 만료 예정인 프로젝트를 선택하기 위한 쿼리를 찾았습니다. 특정 타임스탬프보다 큰 날짜를 확인하기 위해 where 메소드를 사용하여 향후 7일 이내에 반복 또는 갱신합니다.

해결 방법:

그러나 저자는 발견했습니다. 현재 날짜에서 7일을 뺀 날짜보다 큰 날짜를 쿼리해야 했습니다. 이는 다음과 같이 whereBetween 메서드를 사용하여 달성되었습니다.

<code class="php">$projects = Project::whereBetween('recur_at', [
    Carbon::now(),
    Carbon::now()->addWeek()
])
->where('status', '<', 5)
->where('recur_cancelled', '=', 0)
->get();</code>

향상된 쿼리:

두 번째 솔루션은 조건을 직접 연결하는 where 메서드를 사용하여 개선되었습니다.

<code class="php">$projects = Project::where('recur_at', '<=', Carbon::now()->addWeek())
->where('recur_at', '!=', "0000-00-00 00:00:00")
->where('status', '<', 5)
->where('recur_cancelled', '=', 0)
->get();</code>

이렇게 하면 쿼리가 단순화되고 function(q) 구문이 필요하지 않게 됩니다.

위 내용은 Laravel에서 날짜 범위 내의 레코드를 쿼리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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