Laravel의 where 메소드 예시 분석 및 시연

王林
풀어 주다: 2024-03-10 21:39:03
원래의
1056명이 탐색했습니다.

Laravel의 where 메소드 예시 분석 및 시연

Laravel의 where 메소드 인스턴스 분석 및 시연

Laravel 프레임워크에서 where 메소드는 매우 일반적으로 사용되는 데이터 쿼리 메소드로, 지정된 조건에 따라 데이터베이스의 데이터를 필터링할 수 있습니다. 이 글에서는 구체적인 코드 예제를 통해 Laravel의 where 메소드 사용을 시연하고 분석해 보겠습니다.

1. 기본 사용법

먼저 사용자의 이름과 이메일 정보가 포함된 User 모델이 있다고 가정해 보겠습니다. 성이 Zhang인 모든 사용자를 쿼리하려면 where 메소드를 사용하여 이를 달성할 수 있습니다.

$users = User::where('name', 'like', '张%')->get();
로그인 후 복사

위 코드에서는 where 메소드를 사용하여 필드 이름, 연산자(예: 연산자 is)라는 세 가지 매개변수를 전달합니다. 여기에 사용됨) 및 일치시킬 값입니다. 이 방법으로 이름이 "Zhang"으로 시작하는 모든 사용자를 쿼리할 수 있습니다.

2. 다중 조건 쿼리

실제 개발에서는 여러 조건을 기반으로 쿼리해야 하는 경우가 많습니다. 다음은 성이 Zhang이고 이메일 주소가 "gmail.com"으로 끝나는 사용자를 쿼리하는 예입니다.

$users = User::where('name', 'like', '张%')->where('email', 'like', '%@gmail.com')->get();
로그인 후 복사

where 메소드 이후에 또 다른 where 메소드를 계속 호출하면 여러 조건이 포함된 결합 쿼리를 구현할 수 있습니다.

3. 조건부 그룹화

조건을 추가하기 위해 여러 where 메소드를 사용하는 것 외에도 익명 함수를 사용하여 더 복잡한 조건 조합을 구현할 수도 있습니다. 예를 들어, 이름이 Zhang San이거나 이메일 주소가 "163.com"으로 끝나는 사용자에 대한 쿼리:

$users = User::where(function($query) {
    $query->where('name', '张三')
          ->orWhere('email', 'like', '%@163.com');
})->get();
로그인 후 복사

익명 함수에서 orWhere 메소드를 사용하여 "or" 조건을 추가하여 조건의 그룹 쿼리를 수행할 수 있습니다.

4. 범위 쿼리

어떤 경우에는 특정 범위 내의 특정 필드의 데이터를 쿼리해야 합니다. 이때 whereBetween 메소드를 사용하여 범위 쿼리를 구현할 수 있습니다. 예를 들어, 20~30세 사용자에 대한 쿼리:

$users = User::whereBetween('age', [20, 30])->get();
로그인 후 복사

필드 이름과 두 요소가 포함된 배열을 전달합니다. 여기서 첫 번째 요소는 범위의 최소값을 나타내고 두 번째 요소는 범위의 최대값을 나타냅니다. range , 범위 쿼리 기능을 구현합니다.

5. Null 값 쿼리

때로는 필드 값이 비어 있거나 비어 있지 않은 레코드를 쿼리해야 할 때가 있습니다. 이는 whereNull 및 whereNotNull 메소드를 사용하여 달성할 수 있습니다. 예를 들어 이메일 주소 필드 값이 비어 있는 사용자를 쿼리합니다.

$users = User::whereNull('email')->get();
로그인 후 복사

위 코드는 이메일 주소 필드 값이 비어 있는 사용자 쿼리를 구현합니다.

결론

위의 예를 통해 Laravel의 where 메소드의 기본 사용법과 고급 사용법을 살펴보았습니다. where 메소드는 Laravel 프레임워크의 매우 강력하고 유연한 쿼리 도구로, 다양하고 복잡한 쿼리 요구 사항을 쉽게 구현할 수 있습니다. 실제 개발에서는 where 메소드를 합리적으로 사용하면 개발 효율성을 높이고 불필요한 코드의 양을 줄일 수 있으므로 이 글이 모든 분들께 도움이 되기를 바랍니다.

위 내용은 Laravel의 where 메소드 예시 분석 및 시연의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿