Browse Source

fix cache selection method

PHP-GTK3
yggverse 4 months ago
parent
commit
5b020095a3
  1. 14
      src/Abstract/Model/Connection.php
  2. 30
      src/Model/Database.php

14
src/Abstract/Model/Connection.php

@ -239,17 +239,9 @@ abstract class Connection implements \Yggverse\Yoda\Interface\Model\Connection @@ -239,17 +239,9 @@ abstract class Connection implements \Yggverse\Yoda\Interface\Model\Connection
string $request
): ?object
{
if ($cache = $this->_database->findCache($request))
{
if (empty($cache[0]))
{
throw new \Exception;
}
return $cache[0];
}
return null;
return $this->_database->getCache(
$request
);
}
public function cache(

30
src/Model/Database.php

@ -132,35 +132,27 @@ class Database @@ -132,35 +132,27 @@ class Database
);
}
public function findCache(
string $request = '',
int $start = 0,
int $limit = 1000
): array
public function getCache(
string $request = ''
): ?object
{
$query = $this->_connection->prepare(
sprintf(
'SELECT * FROM `cache`
WHERE `request` LIKE :request
ORDER BY `id` DESC
LIMIT %d,%d',
$start,
$limit
)
'SELECT * FROM `cache` WHERE `request` LIKE :request LIMIT 1'
);
$query->execute(
[
':request' => sprintf(
'%%%s%%',
$request
)
':request' => $request
]
);
return $query->fetchAll();
}
if ($cache = $query->fetch())
{
return $cache;
}
return null;
}
public function deleteCache(
int $id

Loading…
Cancel
Save