English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

thinkPHP의 표현식 쿼리 사용법 상세 설명

이 문서에서는 thinkPHP 표현식 쿼리의 예제를 설명합니다. 여러분께 공유하고 참고하기 위해 다음과 같이 설명합니다:

ThinkPHP 표현식

이 문장에서 말하는 표현식은 ThinkPHP 프레임워크에서 독특한 표현식을 의미합니다. 이 표현식은 쿼리나 갱신, 제거 등의操作의 where 조건 및 템플릿 태그에서 사용됩니다.

Where 조건에서 표현식을 사용합니다

Where 조건 표현식 형식은 다음과 같습니다:

$map['字段名']  = array('表达式', '操作条件');

그 중 $map은 일반 배열 변수로, 필요에 따라 이름을 지정할 수 있습니다. 위 형식의 표현식은 실제 연산자의 의미입니다:

ThinkPHP 연산자와 SQL 연산자 비교 표
TP 연산자 SQL 연산자 例子 实际查询条件
eq = $map['id'] = array('eq',100); 相当于:$map['id'] = 100;
neq != $map['id'] = array('neq',100); id != 100
gt > $map['id'] = array('gt',100); id > 100
egt >= $map['id'] = array('egt',100); id >= 100
lt < $map['id'] = array('lt',100); id < 100
elt <= $map['id'] = array('elt',100); id <= 100
like like $map['username'] = array('like','Admin%'); username like 'Admin%'
between between and $map['id'] = array('between','1,8); id BETWEEN 1 AND 8
not between not between and $map['id'] = array('not between','1,8); id NOT BETWEEN 1 AND 8
in in $map['id'] = array('in','1,5,8); id in(1,5,8);
not in not in $map['id'] = array('not in','1,5,8); id not in(1,5,8);
and(기본) and $map['id'] = array(array('gt',1),array('lt',10); (id > 1) AND (id < 10);
, 'or', , 'or', $map['id'] = array(array('gt',3),array('lt',10), 'or'); (id > 3) OR (id < 10);
xor(이xor) xor 두 입력 중 하나만 true일 때 결과가 true, 그렇지 않으면 false, 예시는 생략합니다. 1 xor 1 = 0
exp 연합 표현식 $map['id'] = array('exp','in(1,3,8); $map['id'] = array('in','1,3,8);

보완 설명

SQL과 마찬가지로, ThinkPHP 연산자는 대소문자를 구분하지 않으며, eq와 EQ은 동일합니다.

between, in 조건은 문자열이나 배열을 지원하며, 아래 두 가지 작성 방법은 동일합니다:

$map['id'] = array('not in','1,5,8);
$map['id'] = array('not in',array('1','5','8

exp 표현식

위 테이블의 exp는 연산자가 아니라, 더 복잡한 조건 설정을 지원하기 위한 종합 표현식입니다. exp의 조건은 문자열로 간주되지 않으며, 함수와 필드 이름을 포함한 SQL이 지원하는 모든 문법을 사용할 수 있습니다.

exp는 where 조건에만 사용되지 않으며, 데이터 업데이트에도 사용될 수 있습니다. 예를 들어:

$Dao = M("Article");
// save의 데이터 배열을 구축하는 것, 기사 클릭 수+1
$data['aid'] = 10;
$data['counter'] = array('exp','counter+1);
// 조건에 따라 수정된 데이터를 저장합니다
$User->save($data);

주석: 숫자 필드의加减는 직접 사용할 수 있습니다

ThinkPHP와 관련된 더 많은 내용에 관심이 있는 독자는 다음 주제를 확인할 수 있습니다: 《ThinkPHP 입문 강의》、《ThinkPHP 템플릿 작업 기술 요약》、《ThinkPHP 일반 메서드 요약》、《smarty 템플릿 입문 기본 강의》 및 《PHP 템플릿 기술 요약》.

본 문서에서 설명한 내용이 ThinkPHP 프레임워크 기반의 PHP 프로그램 설계에 도움이 되길 바랍니다.

언급: 본 문서의 내용은 인터넷에서 가져왔으며, 저작권자는 본 사이트에 소유되어 있지 않으며, 인터넷 사용자가 자발적으로 기여하고 업로드한 내용입니다. 본 사이트는 소유권을 가지지 않으며, 인공적인 편집 처리를 하지 않으며, 관련 법적 책임을 부담하지 않습니다. 저작권 침해 내용이 있음을 발견하시면, 이메일을 notice#w로 보내 주세요.3codebox.com에 대한 신고를 위해 이메일을 보내시면, #을 @으로 변경하십시오. 관련 증거를 제공하시면, 사이트가 즉시 저작권 침해 내용을 삭제합니다.

좋아하는 것