mirror of
https://github.com/NNTmux/newznab-tmux.git
synced 2026-08-29 00:01:21 +00:00
Update getPagerCount query
This commit is contained in:
+16
-10
@@ -1075,24 +1075,30 @@ class Releases extends Release
|
|||||||
/**
|
/**
|
||||||
* Get count of releases for pager.
|
* Get count of releases for pager.
|
||||||
*
|
*
|
||||||
*
|
|
||||||
* @param string $query The query to get the count from.
|
* @param string $query The query to get the count from.
|
||||||
*/
|
*/
|
||||||
private function getPagerCount(string $query): int
|
private function getPagerCount(string $query): int
|
||||||
{
|
{
|
||||||
$sql = sprintf(
|
$queryBuilder = DB::table(DB::raw('('.preg_replace(
|
||||||
'SELECT COUNT(z.id) AS count FROM (%s LIMIT %s) z',
|
'/SELECT.+?FROM\s+releases/is',
|
||||||
preg_replace('/SELECT.+?FROM\s+releases/is', 'SELECT r.id FROM releases', $query),
|
'SELECT r.id FROM releases',
|
||||||
(int) config('nntmux.max_pager_results')
|
$query
|
||||||
);
|
).' LIMIT '.(int) config('nntmux.max_pager_results').') as z'))
|
||||||
|
->selectRaw('COUNT(z.id) as count');
|
||||||
|
|
||||||
|
$sql = $queryBuilder->toSql();
|
||||||
$count = Cache::get(md5($sql));
|
$count = Cache::get(md5($sql));
|
||||||
|
|
||||||
if ($count !== null) {
|
if ($count !== null) {
|
||||||
return $count;
|
return $count;
|
||||||
}
|
}
|
||||||
$count = self::fromQuery($sql);
|
|
||||||
$expiresAt = now()->addMinutes(config('nntmux.cache_expiry_short'));
|
|
||||||
Cache::put(md5($sql), $count[0]->count, $expiresAt);
|
|
||||||
|
|
||||||
return $count[0]->count ?? 0;
|
$result = $queryBuilder->first();
|
||||||
|
$count = $result->count ?? 0;
|
||||||
|
|
||||||
|
$expiresAt = now()->addMinutes(config('nntmux.cache_expiry_short'));
|
||||||
|
Cache::put(md5($sql), $count, $expiresAt);
|
||||||
|
|
||||||
|
return $count;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,16 +1,16 @@
|
|||||||
{
|
{
|
||||||
"resources/css/app.css": {
|
"resources/css/app.css": {
|
||||||
"file": "assets/app-2M_Y6p7_.css",
|
"file": "assets/app-CKANnDLf.css",
|
||||||
"src": "resources/css/app.css",
|
"src": "resources/css/app.css",
|
||||||
"isEntry": true
|
"isEntry": true
|
||||||
},
|
},
|
||||||
"resources/forum/livewire-tailwind/css/forum.css": {
|
"resources/forum/livewire-tailwind/css/forum.css": {
|
||||||
"file": "assets/forum-7Kg14gm4.css",
|
"file": "assets/forum-D6itczZG.css",
|
||||||
"src": "resources/forum/livewire-tailwind/css/forum.css",
|
"src": "resources/forum/livewire-tailwind/css/forum.css",
|
||||||
"isEntry": true
|
"isEntry": true
|
||||||
},
|
},
|
||||||
"resources/forum/livewire-tailwind/js/forum.js": {
|
"resources/forum/livewire-tailwind/js/forum.js": {
|
||||||
"file": "assets/forum-DyY0By5q.js",
|
"file": "assets/forum-DYii3E-X.js",
|
||||||
"name": "forum",
|
"name": "forum",
|
||||||
"src": "resources/forum/livewire-tailwind/js/forum.js",
|
"src": "resources/forum/livewire-tailwind/js/forum.js",
|
||||||
"isEntry": true,
|
"isEntry": true,
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"resources/js/app.js": {
|
"resources/js/app.js": {
|
||||||
"file": "assets/app-D2jpX1vH.js",
|
"file": "assets/app-CEsE5a7F.js",
|
||||||
"name": "app",
|
"name": "app",
|
||||||
"src": "resources/js/app.js",
|
"src": "resources/js/app.js",
|
||||||
"isEntry": true
|
"isEntry": true
|
||||||
|
|||||||
Reference in New Issue
Block a user