摘要:
说明平时在用的时候 发现官方的db类库 对新人不太友好 比如需要查询一些复杂的东西时 需要书写...
描述:
说明
平时在用的时候 发现官方的db类库 对新人不太友好
比如需要查询一些复杂的东西时 需要书写原生操作的mysql语句
所以我就增加几项 比较常用类的拓展方法
在YzmCMS基础上增加了一些 db操作的拓展库
查询某个字段
查询某个字段的值可以用 和官方的one方法不同 查询rolename字段的值
$res = D('admin')->where(array('adminid'=>1))->value('rolename');
也可以这样加条件
$res = D('admin')->value('rolename',array(''adminid'=>1'));
更新某个字段的值
setField 方法返回影响数据的条数,没修改任何数据字段返回 0
更新roleid的字段为1 数组条件是adninid为1的筛选条件
三个值为必填项
$res = D('admin')->setfield('roleid',1,array('adminid'=>1));
自增或自减一个字段的值
roleid字段加1,条件写在后面 不能链式用where
$res = D('admin')->setinc('roleid',1,array('adminid'=>1));
字段减 1,条件写在后面 不能链式用where
$res = D('admin')->setdec('roleid',1,array('adminid'=>1));
聚合查询
获取用户的最大积分
$res = D('member')->where(array('userid'=>1))->max('point');
最小积分
$res = D('member')->where(array('userid'=>1))->min('point');
获取用户的平均积分
$res = D('member')->where(array('userid'=>1))->avg('point');
统计表的总积分
$res = D('member')->where(array('userid'=>1))->sum('point');
时间查询
提供了更方便的时间表达式查询
获取今天的文章
$res = D('article')->wheretime('inputtime','today')->select();
获取昨天的文章
$res = D('article')->wheretime('inputtime','yesterday')->select();
获取本周的文章
$res = D('article')->wheretime('inputtime','week')->select();
获取上周的文章
$res = D('article')->wheretime('inputtime','last week')->select();
获取本月的文章
$res = D('article')->wheretime('inputtime','month')->select();
获取上月的文章
$res = D('article')->wheretime('inputtime','last month')->select();
获取今年的文章
$res = D('article')->wheretime('inputtime','year')->select();
获取去年的文章
$res = D('article')->wheretime('inputtime','last year')->select();
如果查询当天、本周、本月和今年的时间,还可以简化为:
获取今天
$res = D('article')->wheretime('inputtime','d')->select();
获取本周
$res = D('article')->wheretime('inputtime','w')->select();
获取本月
$res = D('article')->wheretime('inputtime','m')->select();
获取今年
$res = D('article')->wheretime('inputtime','y')->select();
THE END
请登录后发表评论