>백엔드 개발 >PHP 튜토리얼 >ThinkPHP_php 예제의 일반적인 쿼리 언어 요약

ThinkPHP_php 예제의 일반적인 쿼리 언어 요약

WBOY
WBOY원래의
2016-05-16 20:37:14886검색

이 기사의 예에는 참고용으로 ThinkPHP에서 일반적으로 사용되는 쿼리 언어가 요약되어 있습니다. 나는 이것이 모든 사람의 ThinkPHP 개발에 도움이 될 수 있다고 믿습니다. 세부 내용은 다음과 같습니다.

1. 일반 검색어:

어디 조건 등을 쿼리에 도입하면 최소한 세 가지 형태가 있습니다

1. 문자열 형식:

'id>5 and id<9'

2. 배열 형식:

샘플 코드는 다음과 같습니다.

$user=M('user');
$data['username']='liwenkai';
$list=$user->where(array('username'=>'liwenkai'))->select();
$list=$user->where($data)->select();

3. 객체 형태:

샘플 코드는 다음과 같습니다.

$user=M('user');
$a=new stdClass();
$a->username='liwenkai';
$list=$user->where($a)->select();  

4. 쿼리 표현식:

EQ는
과 같습니다. NEQ는
과 같지 않습니다. GT
보다 큼 EGT 이상
LT 미만
ELT 작거나 같음
LIKE SQL의 like
와 동일 [NOT] 쿼리 범위 사이
[NOT] IN 쿼리 수집
EXP는 보다 복잡한 상황을 달성하기 위해 표준 SQL 문을 사용하는 것을 의미합니다

일반적인 형식:

$data['字段名']=array('是表达式','查询条件');

또한

$data['liwenkai']='liwenkai';

은 실제로

과 동일합니다.
$data['liwenkai']=array('eq','liwenkai');

예는 다음과 같습니다.

$data['username']=array('like','peng%');
$list=$user->where($data)->select();

2. 간격 쿼리:

예는 다음과 같습니다.

$user=M('user');
$data['id']=array(array('gt',20),array('lt',23),'and');
$list=$user->where($data)->select();
dump($list);
$data['username']=array(array('like','p%'),array('like','h%'),'or');

3. 조합 검색어:

예는 다음과 같습니다.

$user=M('user');
$data['username']='pengyanjie';
$data['password']=array('eq','pengyanjie');
$data['id']=array('lt',30);
$data['_logic']='or';
$list=$user->where($data)->select();
dump($list);

4. 복합 쿼리:

예는 다음과 같습니다.

$user=M('user');
$data['username']=array('eq','pengyanjie');
$data['password']=array('like','p%');
$data['_logic']='or';
$where['_complex']=$where;
$where['id']=array('lt',30);
$list=$user->where($data)->select();
dump($list);

과 동일합니다.
(id<30)and ( (username=pengyanjie) or (password like p%) )

5. 통계 쿼리:

예는 다음과 같습니다.

echo $user->count();
echo '<br>';
echo $user->max('id');
echo '<br>';
echo $user->where('id<30')->min('id');
echo '<br>';
echo $user->avg('id');
echo '<br>';
echo $user->sum('id');

6. 포지셔닝 쿼리:

예는 다음과 같습니다.

$user=new AdvModel('user');//实例化高级模型AdvModel
//$user=M('user','CommonModel');//或者将AdvModel用CommonModel来继承
$list=$user->order('id desc')->getN(2);//返回结果中的第三条
dump($list);

$list=$user->order('id desc')->last();//返回最后一条
$list=$user->order('id desc')->first();//返回第一条

7. SQL 쿼리:

1.excute()는 주로 업데이트 및 쓰기에 사용됩니다.

$Model = new Model() // 实例化一个 model 对象  没有对应任何数据表
$Model->execute( "update think_user set name='thinkPHP' where status=1" );

2.query()는 주로 쿼리에 사용됩니다.

$user=M();
$list=$user->query('select * from aoli_user order by id desc');
dump($list);         

8. 동적 쿼리

예는 다음과 같습니다.

$user=M('user');
$list=$user->getByusername('pengyanjie');
$list=$user->getByusername('pengyanjie');
dump($list);

$user=new AdvModel('user');
$list=$user->top5();//前5条
dump($list);

관심 있는 친구들은 ThinkPHP 프로젝트에서 이 기사의 예제를 디버깅하고 실행할 수 있을 것입니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.