ThinkPHP에서 조건부 쿼리를 수행하는 방법

PHPz
풀어 주다: 2023-05-29 18:36:02
앞으로
1607명이 탐색했습니다.

1. 쿼리 조건을 추가하려면 where 메소드를 사용하세요.

ThinkPHP에서는 where 메소드를 사용하여 쿼리 조건을 추가할 수 있습니다. where 메소드에는 두 개의 매개변수가 있습니다. 첫 번째 매개변수는 쿼리 조건이고 두 번째 매개변수는 쿼리 조건의 바인딩 매개변수입니다. ID가 1 또는 2인 레코드를 쿼리하려면 다음 코드를 사용할 수 있습니다.

$map['id'] = array('eq',1);
$map['id'] = array('eq',2);
$data = M('table_name')->where($map)->select();
로그인 후 복사

먼저 쿼리 조건을 별도로 정의합니다. 하나는 ID 1이고 다른 하나는 ID 2입니다. 그런 다음 이를 $map 배열에 추가합니다. 그런 다음 where 메소드를 사용하여 이 배열을 쿼리 작업에 전달합니다. 쿼리 결과는 조건을 충족하는 레코드 배열을 반환합니다.

2. 배열을 사용하여 쿼리 조건 전달

where 메서드를 사용하는 것 외에도 배열을 사용하여 쿼리 조건을 전달할 수도 있습니다. 이 방법을 사용하면 $map 배열에 쿼리 조건만 추가하면 됩니다. 다음 코드를 사용하여 테이블의 ID가 1이거나 2인 레코드를 쿼리할 수 있습니다

$map['id'] = array('in', '1,2');
$data = M('table_name')->where($map)->select();
로그인 후 복사

코드에서 쿼리 조건을 정의했습니다. 이는 $map 배열의 ID가 1 또는 2로 제한됩니다. "in" 연산자를 사용하여 ID 1 또는 2의 레코드를 균일하게 검색합니다. 이런 식으로 "또는" 쿼리 조건을 쉽게 설정할 수 있습니다.

3. 문자열 접합 사용

때때로 "또는" 쿼리 조건을 구현하기 위해 문자열 접합을 사용할 수 있습니다. 예를 들어 조건 A와 조건 B를 모두 만족하는 레코드를 검색하려면 다음 코드를 사용할 수 있습니다.

$map['字段名'] = array('exp', '(条件A) OR (条件B)');
$data = M('table_name')->where($map)->select();
로그인 후 복사

위 코드에서는 exp 연산자를 사용하여 두 가지 조건이 포함된 SQL 문을 전달합니다. 올바른 논리를 보장하려면 이 조건을 괄호로 묶어야 합니다.

위 내용은 ThinkPHP에서 조건부 쿼리를 수행하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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