>PHP 프레임워크 >Laravel >둘 사이의 laravel 쿼리

둘 사이의 laravel 쿼리

王林
王林원래의
2023-05-20 16:17:381785검색

Laravel에서 쿼리 문은 Laravel 프레임워크에서 가장 일반적으로 사용되는 기능 중 하나입니다. 데이터 양과 쿼리 요구 사항의 차이로 인해 두 날짜 사이의 레코드를 쿼리해야 하는 상황이 자주 발생합니다. Laravel 프레임워크에서 제공하는 쿼리 빌더는 매우 강력하지만 사용법을 익히지 않으면 쿼리문을 작성하는 과정에서 몇 가지 문제에 직면하게 됩니다. 이 글에서는 Laravel에서 두 날짜 사이의 레코드를 쿼리하는 방법을 소개합니다.

우선 Laravel에서는 쿼리 빌더의 whereBetween() 메서드를 통해 두 날짜 사이의 레코드를 찾을 수 있다는 점을 분명히 해야 합니다. whereBetween() 메소드는 두 개의 매개변수, 즉 필드 이름과 배열을 허용합니다. 그중 배열의 두 요소는 두 날짜를 나타냅니다.

예를 들어, 등록 날짜가 특정 시간 범위 내에 있는 사용자에 대한 사용자 테이블을 쿼리할 때 다음 코드를 사용할 수 있습니다.

$users = DB::table('users')
                ->whereBetween('created_at', ['2021-06-01', '2021-06-30'])
                ->get();

위 코드는 2021년 6월 regist_date의 사용자 정보를 반환합니다. 그 중,created_at는 users 테이블의 날짜 필드이고, whereBetween() 메소드는 이 필드의 값 범위를 지정합니다. get() 메소드는 쿼리 결과를 얻는 데 사용되며 쿼리 결과가 포함된 Collection 객체를 반환합니다.

whereBetween() 메서드 외에도 whereDate() 메서드를 사용하여 특정 날짜의 기록을 쿼리할 수도 있습니다. 예를 들어, 등록 날짜가 특정 날짜인 사용자에 대한 사용자 테이블을 쿼리할 때 다음 코드를 사용할 수 있습니다.

$users = DB::table('users')
                ->whereDate('created_at', '2021-06-01')
                ->get();

위 코드는 regist_date가 2021년 6월 1일인 사용자 정보를 반환합니다. whereDate() 메서드는 Created_at 필드 값이 2021년 6월 1일인 레코드를 지정합니다. get() 메소드는 쿼리 결과를 얻는 데에도 사용됩니다.

whereBetween() 메서드와 whereDate() 메서드 외에도 Laravel은 날짜를 쿼리하기 위한 몇 가지 다른 메서드도 제공합니다. 이러한 메소드에는 whereDay(), whereMonth(), whereYear(), whereTime(), whereHour() 등이 포함됩니다. 특정 일, 월, 연도, 시간 등에 대한 정보를 조회하는 데 사용되는 메소드입니다. 사용법은 whereBetween() 메소드, whereDate() 메소드와 유사하므로 여기서는 자세히 설명하지 않겠습니다.

라라벨 쿼리 빌더의 날짜 쿼리 메소드는 기본적으로 현지 시간이 아닌 UTC 시간을 사용한다는 점에 유의하세요. 즉, 현지 시간이 무엇이든 쿼리는 UTC 시간으로 계산됩니다. 따라서 날짜 쿼리를 수행할 때 전달된 날짜 매개변수가 UTC 시간과 일치하는지 확인해야 합니다.

실제 응용 프로그램에서는 시간대 문제로 인한 쿼리 오류를 방지하기 위해 일반적으로 쿼리 전이나 구성 파일에서 시간대를 지정합니다. Laravel은 전역적으로 시간대를 구성하는 방법, 즉 config/app.php 파일에서 시간대를 설정하는 방법을 제공합니다.

Laravel에서 시간을 UTC 시간으로 변환하는 방법은 다음과 같습니다.

$date = new Carbon('2021-06-01 12:00:00', 'Asia/Shanghai');
$utcDate = $date->utc();

위 코드는 현지 시간 '2021-06-01 12:00:00'을 UTC 시간으로 변환하여 $utcDate 변수에 할당합니다. . Carbon은 Laravel에 내장된 날짜 및 시간 처리 클래스로, 사용하기 매우 편리합니다. 이 클래스는 다양한 시나리오의 요구 사항을 쉽게 충족할 수 있도록 다양한 시간 변환 방법을 제공합니다.

요약하자면, 이번 글에서는 Laravel에서 두 날짜 사이의 레코드를 쿼리하는 방법을 소개합니다. 날짜 쿼리를 수행하기 위해 쿼리 빌더를 사용할 때 시간대 설정과 전달된 날짜 매개변수가 UTC 시간과 일치하는지 여부에 주의해야 합니다. 쿼리 빌더를 유연하게 사용하면 개발을 더욱 간결하고 효율적으로 만들 수 있습니다.

위 내용은 둘 사이의 laravel 쿼리의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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