在应用中我们经常会用到一些统计数据,例如当前所有(或者满足某些条件)的用户数、所有用户的最大积分、用户的平均成绩,用户的银行卡张数等等,ThinkPHP为这些统计操作提供了一系列的内置方法.
方法 | 说明 |
---|---|
Count | 统计数量,参数是要统计的字段名(可选) |
Max | 获取最大值,参数是要统计的字段名(必须) |
Min | 获取最小值,参数是要统计的字段名(必须) |
Avg | 获取平均值,参数是要统计的字段名(必须) |
Sum | 获取总分,参数是要统计的字段名(必须) |
实例:
如果想要知道一个用户的银行卡张数,并且实时更新显示出来.可以这样
public function test(){
$map['uid'] = '58';
$user = D('card');
if ($data = $user->where($map)->find()) {
$cardAmount = $user->where(['uid'=>'58'])->count();
$data['card_amount'] = $cardAmount;
$msg['status'] = 1;
$msg['data'] = $data;
$this->ajaxReturn($msg);
} else {
$msg['status'] = 0;
$msg['msg'] = '获取用户信息失败!';
$this->ajaxReturn($msg);
}
}
那么获取到的信息如下:
{
"status": 1,
"data": {
"id": "86",
"uid": "58",
"card": "6228480668215847XXXXXX",
"bank": "农业银行-金穗通宝卡(银联卡)-借记卡",
"name": "晕晕晕",
"idcard": "340223199403075125",
"phone": "1525656XXXX",
"isdefault": "1",
"bcard_amount": "3"
}
}