好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

ThinkPHP 查询语言 - Thinkphp

ThinkPHP 查询语言

一、普通查询

在查询带入where条件等,最少有三种形式

EQ   =  NEQ  !=  GT   >   EGT  > =  LT   < </ div >   ELT  < =  LIKE  like  [NOT]BETWEEN  [not]between  [not]in 

推荐使用数组形式查询

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] BETWEEN   查询区间       [NOT] IN        查询集合        EXP              指使用标准SQL语句,实现更加复杂的情况          $data [ '字段名' ]= array ( '是表达式' , '查询条件' );        $data [ 'liwenkai' ]= 'liwenkai' ;实际上是指 $data [ 'liwenkai' ]= array ( 'eq' , 'liwenkai' );              $data [ 'username' ]= array ( 'like' , 'peng%' );        $list = $user ->where( $data )->select(); 

二、区间查询

$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' );   

三、组合查询

$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 ); 

四、复合查询

$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%) )  

五、统计查询

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' ); 

六、定位查询

$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(); //返回第一条  

七、SQL查询

excute()主要用于更新和写入

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

query()主要用于查询

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

八、动态查询

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

查看更多关于ThinkPHP 查询语言 - Thinkphp的详细内容...

  阅读:79次