Fix Pagination

This commit is contained in:
Daeng Deni Mardaeni 2024-08-08 22:47:50 +07:00
parent 88b9a0aae3
commit 25db8db2f8
3 changed files with 23 additions and 16 deletions

View File

@ -281,15 +281,18 @@
$totalRecords = $query->count(); $totalRecords = $query->count();
// Apply pagination if provided // Apply pagination if provided
if ($request->has('start') && $request->has('length')) { if ($request->has('page') && $request->has('size')) {
$start = $request->get('start'); $page = $request->get('page');
$length = $request->get('length'); $size = $request->get('size');
$query->skip($start)->take($length); $offset = ($page - 1) * $size; // Calculate the offset
$query->skip($offset)->take($size);
} }
// Get the filtered count of records // Get the filtered count of records
$filteredRecords = $query->count(); $filteredRecords = $query->count();
// Get the data for the current page // Get the data for the current page
$permissions = $query->get(); $permissions = $query->get();
@ -301,7 +304,7 @@
}); });
// Calculate the page count // Calculate the page count
$pageCount = ceil($totalRecords); $pageCount = ceil($totalRecords/$request->get('size'));
// Calculate the current page number // Calculate the current page number
$currentPage = 0 + 1; $currentPage = 0 + 1;

View File

@ -254,10 +254,12 @@
$totalRecords = $query->count(); $totalRecords = $query->count();
// Apply pagination if provided // Apply pagination if provided
if ($request->has('start') && $request->has('length')) { if ($request->has('page') && $request->has('size')) {
$start = $request->get('start'); $page = $request->get('page');
$length = $request->get('length'); $size = $request->get('size');
$query->skip($start)->take($length); $offset = ($page - 1) * $size; // Calculate the offset
$query->skip($offset)->take($size);
} }
// Get the filtered count of records // Get the filtered count of records
@ -267,7 +269,7 @@
$roles = $query->get(); $roles = $query->get();
// Calculate the page count // Calculate the page count
$pageCount = ceil($totalRecords); $pageCount = ceil($totalRecords/$request->get('size'));
// Calculate the current page number // Calculate the current page number
$currentPage = 0 + 1; $currentPage = 0 + 1;

View File

@ -78,11 +78,13 @@
}); });
} }
// Apply sorting if provided // Apply pagination if provided
if ($request->has('sortOrder') && !empty($request->get('sortOrder'))) { if ($request->has('page') && $request->has('size')) {
$order = $request->get('sortOrder'); $page = $request->get('page');
$column = $request->get('sortField'); $size = $request->get('size');
$query->orderBy($column, $order); $offset = ($page - 1) * $size; // Calculate the offset
$query->skip($offset)->take($size);
} }
// Get the total count of records // Get the total count of records
@ -102,7 +104,7 @@
$users = $query->get(); $users = $query->get();
// Calculate the page count // Calculate the page count
$pageCount = ceil($totalRecords); $pageCount = ceil($totalRecords/$request->get('size'));
// Calculate the current page number // Calculate the current page number
$currentPage = 0 + 1; $currentPage = 0 + 1;