이 글은 thinkPHP의 표현식 쿼리 사용법을 주로 소개하고, thinkPHP 표현식 쿼리의 형식과 관련 연산자 사용법을 예시 형태로 분석했습니다. 필요한 친구들이 참고할 수 있습니다
이 글의 예시는 thinkPHP의 표현식 쿼리를 설명합니다. . 참조를 위해 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.
ThinkPHP 표현식
여기서 언급된 표현식은 ThinkPHP 프레임워크의 고유한 표현식을 나타냅니다. 이러한 표현식은 쿼리, 업데이트, 삭제 등의 작업을 위한 조건 및 템플릿 태그에 사용됩니다.
조건식에서 식이 사용되는 곳
조건식 형식은 다음과 같습니다.
$map['field name'] = array('expression', 'Operation Condition');
여기서 $map 필요에 따라 이름을 지정할 수 있는 일반 배열 변수입니다. 위 형식의 표현식은 실제로 연산자의 의미입니다.
TP 연산자 | SQL 연산자 | Example | 실제 쿼리 조건 |
---|---|---|---|
eq | = | = | $map['id'] = array ('eq' ,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 |
사이 아님 | 사이 아님 | $map['id'] = array('not between','1,8'); | id는 1과 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) 또는 (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);
참고: 숫자 필드의 더하기 및 빼기의 경우
위 내용은 전체 내용입니다. 이 글이 모든 분들에게 도움이 되었으면 좋겠습니다. 학습에 도움이 되셨으면 좋겠습니다. 더 많은 관련 내용을 보시려면 PHP 중국어 홈페이지를 주목해주세요!
관련 권장 사항:
Thinkphp5.0의 모듈 및 디렉터리 자동 생성 방법
위 내용은 thinkPHP에서 쿼리 표현식을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!