이 기사의 예에는 참고용으로 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 프로젝트에서 이 기사의 예제를 디버깅하고 실행할 수 있을 것입니다.