English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 문서에서는 thinkPHP 표현식 쿼리의 예제를 설명합니다. 여러분께 공유하고 참고하기 위해 다음과 같이 설명합니다:
ThinkPHP 표현식
이 문장에서 말하는 표현식은 ThinkPHP 프레임워크에서 독특한 표현식을 의미합니다. 이 표현식은 쿼리나 갱신, 제거 등의操作의 where 조건 및 템플릿 태그에서 사용됩니다.
Where 조건에서 표현식을 사용합니다
Where 조건 표현식 형식은 다음과 같습니다:
$map['字段名'] = array('表达式', '操作条件');
그 중 $map은 일반 배열 변수로, 필요에 따라 이름을 지정할 수 있습니다. 위 형식의 표현식은 실제 연산자의 의미입니다:
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에 대한 신고를 위해 이메일을 보내시면, #을 @으로 변경하십시오. 관련 증거를 제공하시면, 사이트가 즉시 저작권 침해 내용을 삭제합니다.