php框架

 首页 > php框架 > ThinkPHP > ThinkPHP之查询语言 - Thinkphp

ThinkPHP之查询语言 - Thinkphp

分享到:
【字体:
导读:
          ThinkPHP中的查询语言:普遍查询1)字符串形式$list=$user-where( 39;username=bbbb 39;)-select();2)数组形式$data[ 39;username 39;]...

ThinkPHP之查询语言

ThinkPHP中的查询语言:

普遍查询

1)字符串形式

$list=$user->where('username=bbbb')->select();

2)数组形式

  1. $data['username']='bbbbb'
  2. $list=$user->where($data)->select(); 

3)对象形式

  1. $user=M('user'); 
  2. $a=new stdClass(); 
  3. $a->username='bbbbb'
  4. $list=$user->where($a)->select(); 

查询表达式

EQ (=)

NEQ(!=)

GT (>) LT(<)  [NOT]BETWEEN(对应sql中的between) IN

EGT(>=)ELT(<=)LIKE (对应sql中的like)

EXP(使用标准sql语句实现较复杂的情况)

区间查询

  1. $map['id'] = array(array('gt',3),array('lt',10), 'or') ; 
  2. $map['name']  = array(array('like','%a%'), array('like','%b%'), array('like','%c%'), 'ThinkPHP','or'); 

对应的查询条件是:(`name` LIKE '%a%') OR (`name` LIKE '%b%') OR (`name` LIKE '%c%') OR (`name` = 'ThinkPHP');

组合查询:

1)字符串模式查询(_string)

  1. $user=M('User'); 
  2.  $data[id]=array('neq',1); 
  3.  $data['username']='aaaaa'
  4.  $data['_string']='userpass=123 and createtime=2012'
  5.  $list=$user->where($data)->select(); 

2)请求字符串查询方式

  1. $data['id']=array('gt',100); 
  2. $data['_query']='userpass=1&username=aa&_logic=or'
  3. $list=$user->where($data)->select(); 

3)复合查询

  1. $wh['username']=array('like','%thinkphp%'); 
  2. $wh['userpass']=array('like','3%'); 
  3. $wh['_logic']='or'
  4. $data['_complex']=$wh
  5. $data['id']=array('gt',100); 
  6. $list=$user->where($data)->select(); 

对应于:(id>100)AND( (namelike'%thinkphp%')OR(titlelike'%thinkphp%') )

统计查询

  1. count():$num=$user->count();$num=$user->count('id'); 
  2. max(): 
  3. min(): 
  4. avg(): 
  5. sum(): 

定位查询

要求当前模型必须继承高级模型类才能使用

  1. $User->where('score>0')->order('score desc')->getN(2); 
  2. $User-> where('score>80')->order('score desc')->getN(-2); 
  3. $User->where('score>80')->order('score desc')->first(); 
  4. $User->where('score>80')->order('score desc')->last(); 

SQL查询

  1. $model=new Model(); 
  2. $list=$model->query("select * from think_user where id>1 and id<10"); 
  3. $model=new Model(); 
  4. $Model->execute("update think_user set name='thinkPHP' where status=1"); 

动态查询

  1. $user = $User->getByName('liu21st'); 
  2. $user = $User->getFieldByName('liu21st','id'); 
  3. $user-> where('score>80')->order('score desc')->top5(); 
分享到:
nginx下使用ThinkPHP框架rewrite以及二级...
nginx下使用ThinkPHP框架rewrite以及二级目录问题 nginx版本为1.2.6 thinkphp版本为3.1.2 在nginx下配置thinkphp时,如果需要去除index.php这个默认的路径名,同时修改web服务对应的目录,就需要修改nginx下的default.conf这个里面的配置: location / {          root  ...
ThinkPHP3.1.2整合UCenter详解 - Thinkph...
ThinkPHP3.1.2整合UCenter详解 最近应公司的要求,要开发一个有点像QQ空间那样的会员管理中心网站,发现UCenter的很多功能酷似QQ空间,于是选择了UCenter作为程序的会员管理中心,前台嘛就选择我之前基于thinkphp3.1.2框架开发的WBlog好了,但是问题又来了,要求在WBlog前台注册的会员登录时要与UC...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……