getFirstLine($apiKey); $timestamps = array_column($data, 'ts'); $line1 = array_column($data, 'email_count'); $line2 = array_column($data, 'blockemails_count'); return $this->addEmptyDays([$timestamps, $line1, $line2]); } private function getFirstLine(int $apiKey): array { $query = ( 'SELECT EXTRACT(EPOCH FROM date_trunc(:resolution, event.time + :offset))::bigint AS ts, COUNT(DISTINCT event.email) AS email_count, COUNT(DISTINCT ( CASE WHEN event_email.blockemails IS TRUE THEN event.email END) ) AS blockemails_count FROM event INNER JOIN event_email ON (event.email = event_email.id) WHERE event.key = :api_key AND event.time >= :start_time AND event.time <= :end_time GROUP BY ts ORDER BY ts' ); return $this->execute($query, $apiKey); } }