StatisticsModel.php 1.7 KB
<?php
/**
 * Author : xiaojie
 * DateTime: 2018/12/04 10:56
 */
namespace app\portal\model;

use think\Model;

class StatisticsModel extends Model
{

    /**
     * 计算总访问量
     * @return int|string
     */
    public function getTotalNum()
    {
        $num = $this->where('status',1)->count();
        return $num;
    }

    /**
     * 计算今日访问量
     * @return int|string
     */
    public function getTodayNum()
    {
        $num = $this->where([
            'status' => 1,
            'create_date' => date('Y-m-d')
        ])->count();
        return $num;
    }


    /**
     * 获取折线图数据
     * @return array
     */
    public function getBrokenData($map)
    {
        $list = $this
            ->field('address,count(address) as num')
            ->group('address')
            ->where($map)
            ->select()
            ->toArray();
       if(!empty($list)){
           foreach ($list as $k=>$v){
               $data['list1'][] =  $v['address'];
               $data['list2'][] =  $v['num'];
           }
           return $data;
       }
        return '';
    }

    /**
     * 获取饼形图数据
     * @return array
     */
    public function getCakeData($map)
    {
        $list = $this
            ->field('address,count(address) as num')
            ->group('address')
            ->where($map)
            ->select()
            ->toArray();
        if(!empty($list)){
            foreach ($list as $k=>$v){
                $list[$k][] = $v['address'];
                $list[$k][] = $v['num'];
                unset($list[$k]['address'],$list[$k]['num']);
            }
            return $list;
        }
        return '';
    }
}