laravel은 다중 조건 쿼리를 구현합니다.

WBOY
풀어 주다: 2023-05-26 13:48:38
원래의
1701명이 탐색했습니다.

인기 있는 PHP 개발 프레임워크인 Laravel은 많은 개발자들의 호감을 얻었습니다. 실제 개발에서는 데이터베이스에 대한 다중 조건 쿼리가 필요한 경우가 많습니다. 이때 Laravel은 처리를 위한 여러 가지 편리한 방법을 제공합니다. 이 글에서는 Laravel을 사용하여 다중 조건 쿼리를 구현하는 방법을 소개합니다.

기본 지식

구체적인 구현 방법을 소개하기 전에 몇 가지 기본 개념을 이해해야 합니다.

  1. 쿼리 빌더: Laravel의 쿼리 빌더는 데이터베이스를 운영하기 위한 편리하고 유창한 인터페이스를 제공합니다. 쿼리 빌더는 간단한 위치 조건, 정렬, 그룹화, 집계 등을 지원합니다.
  2. Eloquent ORM: Laravel에서 Eloquent ORM은 데이터베이스의 객체 관계형 매핑(ORM) 구현입니다. 데이터베이스 테이블을 조작하는 간단한 방법을 제공합니다.

Query Builder

Laravel의 쿼리 빌더는 where, orWhere, whereIn, whereNotIn, whereBetween, whereNotBetween 등을 포함한 다양한 쿼리 방법을 제공합니다. 그 중 where 와 orWhere 가 가장 일반적으로 사용되는 방법입니다.

지정된 조건에 따라 쿼리하려면 where 메소드를 사용하세요. 샘플 코드는 다음과 같습니다.

$users = DB::table('users')->where('name', 'John')->get();
로그인 후 복사

위 코드는 사용자 테이블에서 John이라는 이름의 모든 사용자를 쿼리합니다.

orWhere 메소드를 사용하여 하나 이상의 "or" 조건을 추가하세요. 샘플 코드는 다음과 같습니다.

$users = DB::table('users')
            ->where('name', 'John')
            ->orWhere('name', 'Jane')
            ->get();
로그인 후 복사

위 코드는 사용자 테이블에서 John 또는 Jane이라는 이름의 모든 사용자를 쿼리합니다.

where 및 orWhere 메소드 외에도 Laravel 쿼리 빌더는 여기서 설명하지 않는 다양한 쿼리 메소드도 제공합니다. 자세한 내용은 Laravel 공식 문서를 참조하세요.

Eloquent ORM

Eloquent ORM은 데이터베이스 테이블을 작동하기 위해 SQL 문 대신 PHP 객체를 사용할 수 있게 해주는 Laravel의 객체 관계형 매핑(ORM) 구현입니다.

Eloquent ORM을 사용하여 쿼리하려면 먼저 모델을 정의해야 합니다. 샘플 코드는 다음과 같습니다.

namespace App;

use IlluminateDatabaseEloquentModel;

class User extends Model
{
    protected $table = 'users';
}
로그인 후 복사

위 코드에서 User 모델에 해당하는 데이터베이스 테이블은 users입니다.

모델을 정의한 후 Eloquent ORM을 사용하여 다중 조건 쿼리를 수행할 수 있습니다. 샘플 코드는 다음과 같습니다.

$users = User::where('name', 'John')
             ->orWhere('name', 'Jane')
             ->get();
로그인 후 복사

위 코드는 쿼리 빌더를 사용하는 것과 동일한 방식으로 사용자 테이블에서 John 또는 Jane이라는 이름의 모든 사용자를 쿼리합니다.

where 및 orWhere 메소드 외에도 Eloquent ORM은 여기서 설명하지 않는 다양한 쿼리 메소드도 제공합니다. 자세한 내용은 Laravel 공식 문서를 참조하세요.

다중 조건 쿼리 예시

실제 개발에서는 다중 조건 쿼리를 수행해야 하는 경우가 많습니다. 다음은 Eloquent ORM을 사용하여 다중 조건 쿼리를 구현하는 방법을 소개하는 간단한 사용자 쿼리를 예로 들어 설명합니다.

다음 필드가 포함된 사용자 테이블이 있다고 가정합니다.

  • id
  • name
  • email
  • age
  • gender

다음 조건을 충족하는 모든 사용자를 쿼리해야 합니다.

  • 성별은 남성입니다.
  • 20세에서 30세 사이
  • Name은 "J"로 시작
  • Email은 "@example.com"으로 끝남

Eloquent ORM을 사용하면 다음과 같이 구현할 수 있습니다.

$users = User::where('gender', 'male')
             ->whereBetween('age', [20, 30])
             ->where('name', 'like', 'J%')
             ->where('email', 'like', '%@example.com')
             ->get();
로그인 후 복사

위 코드는 먼저 where 메소드를 사용합니다. 남성인 사용자를 성별로 필터링한 후 whereBetween 메소드를 사용하여 20~30세 사이의 사용자를 필터링한 다음 where 메소드를 사용하여 이름이 "J"로 시작하는 사용자를 필터링하고 마지막으로 where 메소드를 사용합니다. 이메일 주소 끝이 "@example.com"으로 시작하는 사용자를 필터링하여 조건을 만족하는 모든 사용자를 세트로 패키징하여 반환하는 방법입니다.

요약

다중 조건 쿼리는 개발 시 일반적인 요구 사항입니다. Laravel에서는 쿼리 빌더나 Eloquent ORM을 사용하여 다중 조건 쿼리를 구현할 수 있습니다. 쿼리 빌더는 특정 요구에 따라 선택할 수 있는 다양한 쿼리 메서드를 제공합니다. Eloquent ORM은 다중 조건 쿼리를 수행하기 위해 객체 메서드와 유사한 메서드를 사용할 수 있습니다. 물론 어떤 방법을 사용할지는 구체적인 상황과 개인 취향에 따라 다릅니다. 어떤 방법을 사용하든 다중 조건 쿼리를 쉽게 구현할 수 있습니다.

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

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