>  기사  >  PHP 프레임워크  >  ThinkPHP에서 조건부 쿼리를 수행하는 방법

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

PHPz
PHPz앞으로
2023-05-29 18:36:021603검색

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으로 문의하시기 바랍니다. 삭제