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;
}