TrafficTrends.php 2.0 KB
<?php

namespace App\Models\Bside\Statistics;

use App\Models\Base;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Database\Eloquent\Model;

/**
 * App\Models\Bside\Statistics\TrafficTrends
 *
 * @property int $id
 * @property string|null $day 统计当天日期
 * @property int|null $pvnum 当天的访问次数PV
 * @property int|null $ipnum 当天的独立访问IP数量
 * @property \Illuminate\Support\Carbon|null $created_at
 * @property \Illuminate\Support\Carbon|null $updated_at
 * @method static Builder|TrafficTrends newModelQuery()
 * @method static Builder|TrafficTrends newQuery()
 * @method static Builder|TrafficTrends query()
 * @method static Builder|TrafficTrends whereCreatedAt($value)
 * @method static Builder|TrafficTrends whereDay($value)
 * @method static Builder|TrafficTrends whereId($value)
 * @method static Builder|TrafficTrends whereIpnum($value)
 * @method static Builder|TrafficTrends wherePvnum($value)
 * @method static Builder|TrafficTrends whereUpdatedAt($value)
 * @mixin \Eloquent
 */
class TrafficTrends extends Base
{
    protected $table = 'gl_traffic_trends';

    /**
     * * 根据时间获取数据
     * @param array|string $date
     * @return TrafficTrends[]|Builder[]|Collection
     */
    public function getDaysLists($date = null)
    {
        $query = $this->query();
        if ($date != null) {
            if (is_array($date)) {
                $query->whereIn('day', $date);
            } else {
                $query->where('day', $date);
            }
        } else {
            $query->whereYear('day', '=', date("Y"))
                ->whereMonth('day', '=', date("m"))
                ->whereDay('day', '=', date("d"));
        }
        return $query->get();
    }

    /**
     * @param string|null $date
     * @return TrafficTrends|Builder|Model|object|null
     */
    public function getDay(string  $date = null)
    {
        return $this->query()->where('day', $date ?? date('Y-m-d'))->first();
    }
}