Clockwork\Storage\SqlStorage::retrieve PHP Method

retrieve() public method

Retrieve a request specified by id argument, if second argument is specified, array of requests from id to last will be returned
public retrieve ( $id = null, $last = null )
    public function retrieve($id = null, $last = null)
    {
        if (!$id) {
            $stmt = $this->pdo->prepare('SELECT (id, version, time, method, uri, headers, controller, getData, postData, sessionData, cookies, responseTime, responseStatus, responseDuration, databaseQueries, databaseDuration, timelineData, log, routes, emailsData, viewsData, userData) ' . "FROM {$this->table} ");
            $stmt->execute();
            $data = $stms->fetchAll(PDO::FETCH_ASSOC);
            $requests = [];
            foreach ($data as $item) {
                $requests[] = $this->createRequestFromData($item);
            }
            return $requests;
        }
        $stmt = $this->pdo->prepare('SELECT id, version, time, method, uri, headers, controller, getData, postData, sessionData, cookies, responseTime, responseStatus, responseDuration, databaseQueries, databaseDuration, timelineData, log, routes, emailsData, viewsData, userData ' . "FROM {$this->table} " . 'WHERE id = :id');
        $stmt->execute(['id' => $id]);
        $data = $stmt->fetch(PDO::FETCH_ASSOC);
        if (!$data) {
            return null;
        }
        if (!$last) {
            return $this->createRequestFromData($data);
        }
        $stmt = $this->pdo->prepare('SELECT (id, version, time, method, uri, headers, controller, getData, postData, sessionData, cookies, responseTime, responseStatus, responseDuration, databaseQueries, databaseDuration, timelineData, log, routes, emailsData, viewsData, userData) ' . "FROM {$this->table} " . "WHERE id = :id");
        $stmt->execute(['id' => $last]);
        $last_data = $stmt->fetch(PDO::FETCH_ASSOC);
        $stmt = $this->pdo->prepare('SELECT (id, version, time, method, uri, headers, controller, getData, postData, sessionData, cookies, responseTime, responseStatus, responseDuration, databaseQueries, databaseDuration, timelineData, log, routes, emailsData, viewsData, userData) ' . "FROM {$this->table} " . "WHERE time >= :from AND time <= :to");
        $stmt->execute(['from' => $data['time'], 'to' => $last_data['time']]);
        $data = $stmt->fetchAll(PDO::FETCH_ASSOC);
        $requests = [];
        foreach ($data as $item) {
            $requests[] = $this->createRequestFromData($item);
        }
        return $requests;
    }