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 중국어 웹사이트의 기타 관련 기사를 참조하세요!