PHP完全自学手册(珍藏版) 中文pdf扫描版下载
thinkphp查询
查询表达式 $map['字段名']=array('表达式','查询条件');
表达式有 eq等于 ,neq不等于, gt大于, lt小于 ,egt/elt 大于等于/小于等于
like类似 $map['name']=array('like','thinkphp%')
[not]between [不在]在什么之间 $map['id']=array('between','1,8')
[not]in [不属于]属于什么集合之一 $map['id']=array('in','1,2,4')
exp后面支持更复杂的sql表达式 $map['id']=array('exp','in(1,2,4)')
组合查询表达式,需要设置_logic
$map['id']=array('eq',1);
$map['name']='ok';
$map['_logic']='or';
$user->where($map)->select()
还可以使用_string来设置条件
$map['_string']='status=1 and score>13';
复合查询,多个数组或对象组合成条件
$where['name']=array('like','thinkphp%');
$where['title']=array('like','%thinkphp%');
$where['_logic']='or';
$map['_complex']=$where;
$map['id']=array('gt',1)
统计查询
使用thinkphp内置的一些方法
$usercount=$user->count() //获取用户数
$usercount=$user->max('score') //获取最大积分
$usercount=$user->where('score>0')->min('score') //获取大于0的最小积分
$usercount=$user->avg('score') //获取用户的平均分
$usercount=$user->sum('score') //获取用户总成绩
定位查询
需要继承高级模型类才可以使用
class UserModel extends AdvModel
$user->where('score>1')->getN(2) //取的查询结果中的第三条记录
first(); //获取第一条记录
last(); //获取最后一条记录
sql查询
可以使用query方法执行sql查询语句,返回数据集
可以使用excute()方法执行插入,更新等sql操作,返回影响记录数
__TABLE__ 可以使用在sql语句中代替当前模型对应的表名
转载请注明:谷谷点程序 » thinkphp 查询条件组合实例