private function getMetric() { $metric = new Metric(); $metric->setName('Api response time'); $metric->setUuid('61ad3d6e-4368-4784-9811-53cf0268feac'); return $metric; }
/** * findWeekMetricPointByDay Return data for the current week by day. * * @param Metric $metric * * @return array */ public function findWeekMetricPointByDay(Metric $metric) { $select = 'DATE(mp.datetime) as label, ' . strtoupper($metric->getMetricCalc()) . '(mp.value) as value'; $startDate = Carbon::now(); $startDate->startOfWeek(); $endDate = Carbon::now(); $endDate->endOfWeek(); $qb = $this->createQueryBuilder('mp'); $qb->select($select)->where('mp.metric = :metric')->andWhere('DATE(mp.datetime) BETWEEN :start AND :end')->setParameter('start', $startDate)->setParameter('end', $endDate)->setParameter('metric', $metric)->orderBy('label', 'ASC')->groupBy('label'); return $qb->getQuery()->getResult(); }